LeetCode Remove Duplicates from Sorted Array
2015-12-26 09:09
253 查看
LeetCode解题之Remove Duplicates from Sorted Array
原题
从一个有序的数组中去除重复的数字,返回处理后的数组长度。注意点:
只能用常量的额外空间
将不重复的数字移到数组前部,剩余的部分不需要处理
例子:
输入: nums = [1, 1, 2]
输出: 2
解题思路
用一个下标index来标记下一个不重复的数字存放的位置,另一个下标start来表示当前是和哪个数字来比较有没有重复。遍历数字,如果不重复则放到index位置,后移index,并更新start位置;否则继续遍历。返回index即为不重复数组的长度。AC源码
[code]class Solution(object): def removeDuplicates(self, nums): """ :type nums: List[int] :rtype: int """ if not nums: return 0 # The index where the character needs to be placed index = 1 # The index of repeating characters start = 0 for i in range(1, len(nums)): if nums[start] != nums[i]: nums[index] = nums[i] index += 1 start = i return index if __name__ == "__main__": assert Solution().removeDuplicates([1, 1, 2]) == 2
欢迎查看我的Github来获得相关源码。
相关文章推荐
- 5.3.2 Counter对象
- 5.3.2 Counter对象
- Servlet容器响应Web客户请求流程
- Hexo从0到1——搭建属于自己的Blog
- 类重载全局函数指针
- 北京Uber优步司机奖励政策(12月26日)
- Android中图片占用内存的计算
- Qt Script
- Eclipse右键New菜单项的自定义设置
- 工厂方法模式【Factory Method Pattern 】
- 浅析12306前端优化点
- SQL Server笔试准备 Day2
- 5.3.1.1 ChainMap的例子和技巧
- 5.3.1.1 ChainMap的例子和技巧
- 滴滴快车奖励政策,高峰奖励,翻倍奖励,按成交率,指派单数分级(12月26日)
- 数据结构课程设计---学生成绩管理系统
- h5拖动
- 杭电oj-1115-Lifting the Stone
- Android广播机制
- 关于DP单位的相关权威介绍