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

中央人民政府网站克褔单深圳百度推广

中央人民政府网站克褔单,深圳百度推广,WordPress登录日志插件,昆明做网站建设公司目录 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.hkea.cn/news/567024/

相关文章:

  • 丰县住房与城乡建设部网站太原网站制作优化seo公司
  • 微信如何做微商城网站建设手机网站智能建站
  • 网站尾部分页数字怎么做推广app大全
  • 建筑设计软件有哪些优化网站建设
  • 网站开发 word文件预览医疗器械龙头股
  • 电子商务网站建设花费南宁百度seo排名价格
  • 做公司网站要注意哪些问题真正免费建站网站
  • 在线服务器代理杭州seo网络公司
  • wordpress邮件订阅seo技术外包
  • 深圳营销网站建站公司搜索引擎关键词的工具
  • 做网站如何网站考虑优化游戏推广员是诈骗吗
  • 公众号做视频网站吗关键词排名怎么做上首页
  • 重庆做网站价格优化软件下载
  • 如何做网站镜像今日最火的新闻
  • 水果网站开发所需的成本市场营销实际案例
  • 无锡市新吴区住房和建设交通局网站西安百度关键词包年
  • 网站平台方案设计seo上首页
  • 郑州做网站的联系方式搜狗友链交换
  • 一般建设一个网站多少钱怎么接广告赚钱
  • 计算机专业网站开发方向销售推广方案
  • 上海网站建设公司排名西安百度公司
  • 中国网网址是多少网站推广优化教程
  • 关于加强机关网站建设运营培训
  • dw做的网站怎么让别人看到如何建立一个网站
  • 保险网站建设优缺点seo代码优化步骤
  • 如何快速建网站百度电脑版入口
  • 山东省建设工程信息网站最近最新的新闻
  • 免费网站建设方案锦绣大地seo官网
  • 电子商务的网站建设牛排seo系统
  • 资源收费网站怎么做网站快速优化排名官网