问题

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3622 访问。

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

不要使用额外的数组空间,你必须在原地修改输入数组并在使用 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。

你不需要考虑数组中超出新长度后面的元素。


Given a sorted array nums, remove the duplicates in-place such that each element appear only once and return the new length.

Do not allocate extra space for another array, you must do this by modifying the input array in-place with O(1) extra memory.

Given nums = [1,1,2],

Your function should return length = 2, with the first two elements of nums being 1 and 2 respectively.

It doesn't matter what you leave beyond the returned length.

Given nums = [0,0,1,1,1,2,2,3,3,4],

Your function should return length = 5, with the first five elements of nums being modified to 0, 1, 2, 3, and 4 respectively.

It doesn't matter what values are set beyond the returned length.


示例

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3622 访问。

public class Program {public static void Main(string[] args) {int[] nums = { 1, 1, 2 };Console.WriteLine(RemoveDuplicates(nums)); ;Console.ReadKey();}private static int RemoveDuplicates(int[] nums) {if(nums.Length == 0) return 0;int index = 0;for(int i = 1; i < nums.Length; i++) {if(nums[i] != nums[index]) {index++;nums[index] = nums[i];}}return index + 1;}}

以上给出1种算法实现,以下是这个案例的输出结果:

该文章的最新版本已迁移至个人博客【比特飞】,单击链接 https://www.byteflying.com/archives/3622 访问。

2

分析:

显而易见,以上参考算法在最坏的情况下的时间复杂度为:  。

C#LeetCode刷题之#26-删除排序数组中的重复项(Remove Duplicates from Sorted Array)相关推荐

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

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

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

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

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

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

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

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

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

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

  6. LeetCode 79单词搜索80删除排序数组中的重复项Ⅱ81.搜索旋转排序数组Ⅱ

    新人公众号(求支持):bigsai 专注于Java.数据结构与算法,一起进大厂不迷路! 算法文章题解全部收录在github仓库bigsai-algorithm,求star! 关注回复进群即可加入力扣打 ...

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

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

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

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

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

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

最新文章

  1. 面试官最讨厌的三种求职者
  2. rocketmq广播消息为什么不能重试_几分钟带你看懂“消息队列和RocketMQ”的入门总结
  3. simulink中mask设置_Mask Editor 概述
  4. 右左法则----复杂指针解析
  5. 内核初始化kernel.asm
  6. python0_python中0o1010是多少
  7. 自己眼中的淡定生活!
  8. POJ 3667 Hotel (线段树区间合并)
  9. python 自动交易股票_Python从零开始学股票自动交易视频教程百度网盘下载
  10. UCSC_2bit基因组格式ToFASTA格式
  11. 项目实施过程中的风险控制
  12. 向往的生活之鸿蒙传承,《向往的生活5》播放量破6.43亿,张艺兴功劳大,《跑男》比不了...
  13. php博客 程序 论文,php博客系统论文 (附加程序代码)
  14. python立体图形_Python 立体图形的画法(一)
  15. 即刻发光!武汉国金天地街区亮灯啦!
  16. 双硬盘装双系统 (ubuntu)
  17. 建网站之前要先做好SEO布局工作
  18. 现在的程序员真的都找不到女朋友了??!!!
  19. django 第一个web页面
  20. MediaCodec对接到OMX的简单分析

热门文章

  1. 《剑指Offer》 旋转数组的最小数字
  2. 数组的操作与方法的操作 0303 2101
  3. django项目的创建与启动
  4. prometheus修改数据保留时间
  5. 网络电话全民亲情祝福 中秋团圆新方式
  6. 用最科学的方法展示最形象的图表——前段数据可视化选型实践
  7. Redis高可用分布式内部交流(九)
  8. 监听文件变化并自动运行 npm script
  9. 获取到的数字证书如何配置在自己的Apache中?
  10. 容器编排技术 -- Kubernetes kubectl create service nodeport 命令详解