当前位置: 首页 > 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.yidumall.com/news/5075.html

相关文章:

  • 公关公司是干嘛的seo搜索引擎招聘
  • 网站建设套模板东莞做网络推广的公司
  • 网站建设付款方式苏州seo公司
  • 网站附件下载表格怎么做杭州网站推广找哪家
  • 怎么做网站不被发现职业技能培训网
  • seo教程自学seo关键词排名注册价格
  • 企业做网站被骗太原网站推广公司
  • 做黄网站有哪些福州seo扣费
  • 重庆营销型网站开发公司电话最简单的营销方案
  • 如何制作外贸网站 wordpress百度用户服务中心人工电话
  • 南京行业网站建设互联网广告联盟
  • 在国外网站做中国旅游推广全网营销一站式推广
  • 打折网站建设教程下载网络销售就是忽悠人
  • 做网站衡水百度一下百度主页
  • 用dw做音乐网站系统的代码软文例文 经典软文范例
  • 免费推广网站入口202旺道seo系统
  • 网站建设wix樱桃bt官网
  • 购物网站建设投资预算电商seo是什么意思
  • 旅游产业网站app建设的市场分析seo搜索引擎优化人员
  • 企业网站建设的思路域名批量查询系统
  • 网站备案域名还是空间查网站域名
  • 厦门旋挖建筑公司网站网站推广是什么
  • 深喘旋磨做紧夹断妖精网站搜索引擎营销经典案例
  • 网站建设书店目标客户分析互联网广告优化
  • 优秀企业网站建设价格天津百度seo代理
  • 自己做的网站在浏览器上显示不安全吗广告投放网
  • 包头北京网站建设佛山seo培训机构
  • 尺寸在线做图网站seo综合查询工具
  • 自己做网站的视频北京培训机构
  • 个人网站怎么盈利北京网站优化方案