题目:有序数组中的重复元素只留一个,返回长度
要求:不能重新分配内存空间
解题思路:用一个标记start记录不重复数开始的位置
class Solution(object):
def removeDuplicates(self, nums):
"""
:type nums: List[int]
:rtype: int
"""
n=len(nums)
if n<=1:
return n
prev=nums[0]
start=0
for i in range(1,n):
if nums[i]!=prev:
start+=1
nums[start]=nums[i]
prev=nums[start]
return start+1