2019-05-13 Remove Duplicates from Sorted Array

1.首先题目要求不能用额外的空间,O(1)解决

2.range(1,len(nums))的范围是[1,len(nums)-1]

3.self.nums = nums暂且看作是初始化

4.python里面没有i++这样,写成i+=1

刚开始的时候觉得后面的数会把前面的数字覆盖的问题,首先第一个元素肯定是保留的,如果出现重复最多是从第二个开始,因此只需要判断后面一个数字是否与前面的一位重复即可。先确定下来刚开始的数字,一步步向后面移动。

覆盖问题,比如碰到了重复的数字,j会继续往后移动,当找到了不重复的j后,我们需要的只是这个时候的num[j],i只是用来计数不重复的数字,num[i]是有值的,会被num[j]覆盖,这是🆗的,因为我们只统计不重复的数。

最后返回不重复的数字个数


为什么是返回i不是i+1呢?

注意后面nums[i]= nums[j]之后,i是+1了的!!因此最后的个数是正确的

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 有人跟我说,回忆里的人永远长不大。但我说,回忆里的人最能保持初心。 往事好像是一张白纸上沾上了几滴墨,只能在上面添...
    醉夕颜阅读 3,411评论 0 0
  • 注:纣王,是周朝给商最后一任君王起的谥号。商朝君王以子为姓氏,纣王名辛,商朝人称他为“帝辛”。 一、 夜。一灯如豆...
    甘霖甘临阅读 4,332评论 0 1
  • 今天应该是日更的第29天。过了15天之后日子跟飞一样。原来我能坚持一件事这么久。连签到攒买菜积分我都老是断签。 感...
    为难的玻璃杯阅读 1,049评论 0 0

友情链接更多精彩内容