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

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

示例 1:

给定数组 nums = [1,1,2],

函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。

你不需要考虑数组中超出新长度后面的元素。
示例 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]);
}

解题代码一:

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

解题代码二:

class Solution {
public:int removeDuplicates(vector<int>& nums) {int count = 0;for(int i = 1; i < nums.size(); ++i){if(nums[i] == nums[i - 1])++count;elsenums[i - count] = nums[i];}reuturn nums.size() - count;}
};

26. 删除排序数组中的重复项相关推荐

  1. 26. 删除排序数组中的重复项 golang

    26. 删除排序数组中的重复项 给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度. 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 ...

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

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

  3. ios 数组中的字典排序_题解 | 26.删除排序数组中的重复项

    假设我们有一个传感器,会不停地向 HQ 传输已经归类好数据,数据的格式全部是数字(种类编号),且已经按照从小到大的顺序排列,大概是 [1,1,4,5,7,9] 这样的,但是我们的需求在于,希望知道有多 ...

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

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

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

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

  6. LeetCode(#26)————删除排序数组中的重复项

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

  7. leetcode 26 删除排序数组中的重复项

    https://leetcode-cn.com/problems/remove-duplicates-from-sorted-array 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素 ...

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

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

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

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

最新文章

  1. k8s的imagePullSecrets如何生成及使用
  2. 为什么明星公司会选择Go作为编程语言?
  3. 用户描述 和 组描述 和 远程连接
  4. html to txt研究
  5. Apache Wicket:记住我的功能
  6. CDH 5.13.0 集成 Phoenix
  7. spring事务的传播机制新解
  8. Python 配置文件之ConfigParser模块(实例、封装)
  9. SpringBoot-Jsoup做java简单-爬虫
  10. Atom飞行手册翻译: 2.2 在Atom中移动
  11. java调用数据库存储过程_Java调用SQL Server的存储过程详解
  12. 中科微GPS模块使用教程 ATGM332D ATGM336H GSP模块 单片机程序 C程序
  13. 计算机可以计算出十的一百次方吗,世界上最大的数字单位 古戈尔(1古戈尔等于10的100次方)...
  14. 为什么宝宝做错事被骂哭后,还要求抱抱?
  15. 公务员考试要求及流程梳理
  16. 用Java写一款小游戏
  17. 十二要素应用宣言(The Twelve-Factor App)
  18. 如何优化物联网边缘设备的能源使用
  19. Linux下配置ip地址
  20. 如何将360流量监控数据清零 解决方法

热门文章

  1. 选哪个云计算平台部署自己的网站?
  2. Linux Vim 光标错位,技术|Vim 复制粘帖格式错乱问题的解决办法
  3. 修改mysql编码方式centos_CentOS下修改mysql数据库编码为UTF-8(附mysql开启远程链接和开放3306端口)...
  4. ceph存储原理_热门的分布式存储系统ceph入门介绍
  5. 移动端实现元素拖拽效果插件_基于自然流布局的可视化拖拽搭建平台设计方案...
  6. 如何给linux目录加密码,怎么只给一个文件夹的内容加密?
  7. php 查询方法all,获取多条:all静态方法
  8. python第五章上机实践报告_第五章实践报告 - osc_kk5bjg1i的个人空间 - OSCHINA - 中文开源技术交流社区...
  9. mysql加锁语法_MySql 加锁问题
  10. 国际旅游管理专业跨专业考计算机,旅游管理考研我想跨专业考旅游管理专业的研究 – 手机爱问...