给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。

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

给定数组 nums = [1,1,2],
函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。
你不需要考虑数组中超出新长度后面的元素。

给定 nums = [0,0,1,1,1,2,2,3,3,4],
函数应该返回新的长度 5, 并且原数组 nums 的前五个元素被修改为 0, 1, 2, 3, 4。
你不需要考虑数组中超出新长度后面的元素。

说明:

为什么返回数值是整数,但输出的答案是数组呢?

请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。

你可以想象内部操作如下:

// nums 是以“引用”方式传递的。也就是说,不对实参做任何拷贝
int len = removeDuplicates(nums);
// 在函数里修改输入数组对于调用者是可见的。
// 根据你的函数返回的长度, 它会打印出数组中该长度范围内的所有元素。
for (int i = 0; i < len; i++) {
print(nums[i]);
}

我的c++代码

class Solution {public:int removeDuplicates(vector<int>& nums) {int result=1;if(nums.size()<2)return nums.size();for(int i=1;i<nums.size();i++){if(nums[i]==nums[i-1]){nums.erase(nums.begin()+i-1);i=i-1;continue;}result++;}return result;}
};

题干的说明其实很好理解,引用方式传递,相当于把vector的地址传进去,所以对vector内的操作就算不返回也会保留下来。

学渣的刷题之旅 leetcode刷题 26. 删除排序数组中的重复项相关推荐

  1. [LeetCode][Python][C#]刷题记录 26. 删除排序数组中的重复项

    这道题我真的纠结好久,因为没注意那个原地的题目要求,所以很奇怪怎么我电脑运行成功,但是LeetCode上运行就是不对.气哭. 感谢群友lino的帮助.他试了set方法不行,直接喂给我的答案了... 题 ...

  2. C++描述 LeetCode 26. 删除排序数组中的重复项

    C++描述 LeetCode 26. 删除排序数组中的重复项   大家好,我叫亓官劼(qí guān jié ),在CSDN中记录学习的点滴历程,时光荏苒,未来可期,加油~博主目前仅在CSDN中写博客 ...

  3. leetcode初级算法1.删除排序数组中的重复项

    leecode初级算法1.删除排序数组中的重复项 仅为个人刷题记录,不提供解题思路 题解与收获 class Solution {public int removeDuplicates(int[] nu ...

  4. LeetCode 25K 个一组翻转链表26删除排序数组中的重复项

    如果问题或者其他方法还请分享,如加入打卡微信搜索bigsai回复进群一起打卡. K个一组翻转链表 题目要求 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表. k 是一个正整数,它的值小 ...

  5. LeetCode 26.删除排序数组中的重复项

    原题 标签  : 数组  重复元素  有序  双指针 快慢指针 解题思路: 1.判断数组是否为空,为空返回0 2.我们可以放置两个指针 ,其中 k 是慢指针,用来存下所有不同的数,而 j 是快指针用来 ...

  6. LeetCode 26. 删除排序数组中的重复项

    1. 题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  7. python有序数组中删除元素_python刷LeetCode:26. 删除排序数组中的重复项

    题目描述: 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成 ...

  8. LeetCode题 - 26 删除排序数组中的重复项 python实现

    题目 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成. 示 ...

  9. 索引超出了数组界限_【每天一题】LeetCode 26. 删除排序数组中的重复项

    开源地址 JiauZhang/algorithms​github.com 题目描述 * https://leetcode-cn.com/problems/remove-duplicates-from- ...

最新文章

  1. 后处理编辑修改_NX后处理打开报错处理方法
  2. 0-1背包问题(物品不可分割)
  3. 使用TVP批量插入数据
  4. android 浏览指定相册,Android -- 采用系统相册浏览指定路径下照片
  5. 数据仓库之电商数仓-- 4、可视化报表Superset
  6. linux NAND驱动之三:6410平台上的NAND驱动加载
  7. jsp+servlet实现文件的上传和下载
  8. 591. 标签验证器
  9. JAVA数组的遍历 获取最大值最小值 数组的反转 数组的查找 练习 定义方法创建指定大小的数组,并添加指定元素 拼接两个数组
  10. 2022年(2023届)西电计算机保研经历分享(清深、自所、计算所、浙科南、北航、哈工等)
  11. c语言出现错误c1083,DES 算法,出现异常:fatal error C1083: Cannot open include file: 'des_encode.h'...
  12. linux系统mtd移植,文件系统 之 移植mtd-utils工具包
  13. 第一个报表(简单滴)
  14. JS/ES6-var、let、const用法与区别
  15. 华为虚拟化服务服务器忘记密码,华为云linux服务器 忘记密码
  16. java实现图片滚动_怎么用Java代码使图片自行滚动浏览
  17. abaqus应力值导出并进行后处理(同一节点多个应力值如何处理?)
  18. 单休和双休有多大区别(月薪1万和8千如何选择)
  19. python安装教程(Win8环境)
  20. 管理日常工作、生活琐事的待办事项提醒工具便签

热门文章

  1. 自定义CollapsingToolbaLayout完成可收缩的带头像的Toolbar
  2. catia导出运动html,CATIA使用DMU生成运动轨迹包络面 | 坐倚北风
  3. oracle10gwin,win10肿么彻底卸载oracle10g
  4. IDEA全局搜索快捷键方法
  5. linux su -c 命令
  6. 抓取网易云评论,生成词云图
  7. Unity 设置程序在后台运行
  8. xmanager 5下载安装
  9. 5G DL PRS(Positioning Reference Signal) -- 下行定位参考信号
  10. 劳务员培训建筑八大员培训劳务员对劳务分包企业管理的建议