当前位置: 首页 > news >正文

昆山建设局网站php 企业 网站

昆山建设局网站,php 企业 网站,如何更改网站模板,模块化网页制作软件目录 27. 移除元素 26. 删除有序数组中的重复项 88. 合并两个有序数组 27. 移除元素 给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。 不要使用额外的数组空间,你必须仅使用 O(1) 额外…

目录

27. 移除元素

26. 删除有序数组中的重复项

 88. 合并两个有序数组


27. 移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。

不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。

元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。

 【解法一】

class Solution {
public:int removeElement(vector<int>& nums, int val) {while(1){int pos = 0;for(;pos < nums.size(); pos++){if(nums[pos] == val)break;}if(pos == nums.size())break;for(int i = pos; i < nums.size()-1; i++)nums[i] = nums[i+1];nums.pop_back();    // 注意这里的pop_back()}return nums.size();}
};

 【解法二】计数覆盖

class Solution {
public:int removeElement(vector<int>& nums, int val) {int count = 0;for(int i = 0; i < nums.size(); i++){if(nums[i] == val)count++;elsenums[i-count] = nums[i];}for(int i = 0; i < count; i++)nums.pop_back();return nums.size();}
};

26. 删除有序数组中的重复项

给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。

由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。

将最终结果插入 nums 的前 k 个位置后返回 k 。

不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/remove-duplicates-from-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

【解法一】left代表左半部分,right代表右半部分

class Solution {
public:int removeDuplicates(vector<int>& nums) {int left = 0;int right = 1;while(right < nums.size()){if(nums[left] == nums[right])right++;elsenums[++left] = nums[right++];}return left+1;}
};

 88. 合并两个有序数组

给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。

请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。

注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/merge-sorted-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

class Solution {
public:void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {int pos = m+n-1;while(m-1 >= 0 && n-1 >= 0){if(nums1[m-1] >= nums2[n-1]){nums1[pos--] = nums1[m-1];m--;}else{nums1[pos--] = nums2[n-1];n--;}}while(n-1>=0){nums1[pos--] = nums2[n-1];n--;}}
};

http://www.15wanjia.com/news/167130.html

相关文章:

  • 网站禁止ip访问如何创新网站建设模式
  • 网站思维导图例子2016企业网站建设合同
  • 做网站信科网站建设涉县做网站
  • ps做分享类网站效果图新浪企业邮箱
  • 常州新北区网站建设深圳建设交易主页
  • 网站生成静态页面织梦模板网站好吗
  • 如何做门户网站网站建设详细需求说明书
  • 沈阳网站制作全网性猎聘网网站谁做的
  • 重庆网站设计公司排行网站收录量怎么提升
  • 安徽省和住房建设厅网站个人网站名称 备案
  • 基于asp.net的视频网站开发网站专题方案
  • 杭州网站建设找思创长沙城市建筑工程有限公司
  • 相亲网站做推广的照片是谁电脑培训学校课程
  • 网站禁止右键变装第三性wordpress
  • 规则网站建设国内外知名市场调研公司
  • 数据网站模板长春招聘
  • 做会计题目的网站手机建站程序
  • 红酒网站设计广西南宁时空网首页
  • 江西专业的网站建设制作商务网页设计与制作是什么
  • 手机网站搭建用什么软件?盘锦网站建设公司
  • 创造一个网站wordpress rds
  • 网站开发学校百度网站分析报告
  • 网站 php 源码网页游戏排行榜图标
  • 跟做网站相关的法律优化网址
  • 怎么用源码做网站视频网站怎么做短信营销
  • 建设网站前的需求分析怎么查自己的网站备案编号
  • 网站建好了 如何推广安徽电子信息工程技术学院校园网
  • 临清网站优化wordpress 爱情模板
  • 东宁网站制作备案需要网站空间
  • 网站关键词之间wordpress视频插件弹幕