LeetCode Remove Duplicates from Sorted Array II
来源:互联网 发布:淘宝抠图多少钱一张 编辑:程序博客网 时间:2024/04/25 12:48
LeetCode解题之Remove Duplicates from Sorted Array II
原题
在 Remove Duplicates from Sorted Array(从一个有序的数组中去除重复的数字,返回处理后的数组长度) 的基础上,可以使每个数字最多重复一次,也就是说如果某一个数字的个数大于等于2个,结果中应保留2个该数字。
注意点:
- 只能用常量的额外空间
- 将要保留的数字移到数组前部,剩余的部分不需要处理
例子:
输入: nums = [1,1,1,2,2,3]
输出: 5 ([1,1,2,2,3,3])
解题思路
首先记住原数组是有序的,再看一下以下几种情况:
- [1,1]
- [1,1,2]
- [1,1,2,2]
- [1,1,2,2,3]
在每一次插入过程中,其实只要把要插入的元素和倒数第二个元素进行比较,如果相同,就忽略,因为倒数第一个数是夹在它们中间的,如果它们相等,那么就会有三个数相等;如果不同,就可以插入,因为在这样的情况下,最多只有倒数第二、倒数第一两个数相等。
AC源码
class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ count = 0 for i in range(len(nums)): if count < 2 or nums[count - 2] != nums[i]: nums[count] = nums[i] count += 1 return countif __name__ == "__main__": l = [1, 1, 1, 2, 2, 3] r = Solution().removeDuplicates(l) assert l == [1, 1, 2, 2, 3, 3] assert r == 5
欢迎查看我的Github (https://github.com/gavinfish/LeetCode-Python) 来获得相关源码。
2 0
- LeetCode: Remove Duplicates from Sorted Array II
- [Leetcode] Remove Duplicates from Sorted Array II
- LeetCode: Remove Duplicates from Sorted Array II
- [Leetcode] Remove Duplicates from Sorted Array II
- [LeetCode] Remove Duplicates from Sorted Array II
- [leetcode] Remove Duplicates from Sorted Array II
- [LeetCode]Remove Duplicates from Sorted Array II
- [leetcode]Remove Duplicates from Sorted Array II
- LeetCode-Remove Duplicates from Sorted Array II
- [leetcode] Remove Duplicates from Sorted Array II
- LeetCode - Remove Duplicates from Sorted Array II
- LeetCode:Remove Duplicates from Sorted Array II
- LeetCode | Remove Duplicates from Sorted Array II
- Leetcode: Remove Duplicates from Sorted Array II
- 【leetcode】Remove Duplicates from Sorted Array II
- Leetcode: Remove Duplicates from Sorted Array II
- [LeetCode] Remove Duplicates from Sorted Array II
- Leetcode Remove Duplicates from Sorted Array II
- iOS 整理iOS9适配中出现的坑
- linux下修改环境变量问题
- 理解和使用 JavaScript 中的回调函数
- Flex MenuBar的使用学习
- java提高篇(一)-----理解java的三大特性之封装
- LeetCode Remove Duplicates from Sorted Array II
- java面试题(一)
- The most common (worst) passwords of 201
- 使SourceInsight支持Python语言的方法
- Android LayoutInflater原理分析,带你一步步深入了解View(一)
- 年少飞扬——2016台湾跨年之旅
- 【百金轻】:乍暖还寒 最难将息
- 2016【太原网络营销师】郭文军讲网站上线后该做什么?
- SCI投稿过程总结、投稿状态解析、修稿处理、拒稿后对策及接受后总结等