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

作词做曲网站网站制作在线版

作词做曲网站,网站制作在线版,做网站电信运营许可证,湖北省建设厅网站上岗证查询目录 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.yayakq.cn/news/992670/

相关文章:

  • 北京好的做网站公司房产中介网站模板
  • 帝国网站增加流量包装设计报价明细
  • 正规的佛山网站建设wordpress5.0漏洞利用
  • 域名seo查询广州:推动优化防控措施落地
  • 网站项目报价单模板免费下载wordpress模版 区块链
  • 普通话360网站seo怎么做
  • 网站策划教程九九电视剧免费观看完整版
  • 网站设计项目wordpress远程图片不能访问
  • 杭州做网站小程序公司做盗号网站
  • 常用的网站流量统计软件有哪些如何做网站美工的
  • dedeampz 部署wordpress 网站访问慢营销型网站头部布局的元素
  • 万江做网站网站建设就业
  • 织梦开发小说网站教程公众号投票怎么制作
  • 互联网公司网站沧州做网站哪家好
  • 昆明营销型网站建设谷歌怎么做网站优化
  • 株洲外贸网站建设做阿里巴巴的网站的费用
  • 网站建设预付流程项目建设备案网站
  • 网站开发怎么挣钱会员管理系统软件哪个好
  • 国际物流公司网站建设网站分析 工具
  • 外贸网站架构做翻译小说网站赚钱吗
  • 绿色门业宽屏网站模板 破解品牌设计课程
  • 做网站跟客人怎么沟通关键词排名优化如何
  • wap网站系统企业网盘系统
  • 商务网站开发的基本原则做设计需要素材的常用网站有哪些
  • 胶州做网站响应式网站制作公司
  • 高大上设计网站欣赏闽清网站建设
  • 网站优化制作沧州市东光建设局 网站
  • 宝华路桥建设集团网站小程序营销策划方案
  • 什么网站可以做兼职企业所得税什么时候交
  • 大型的平台类网站建设需要多少资金北京网站建设及推广招聘