1class Solution(object):2def removeDuplicates(self, nums):3n = len(nums)4if n == 2:5return 26if n == 0:7return 08if n == 1:9return 110same = 011start = -112end = -113i = 014while i < n - 1:15if nums[i] == nums[i + 1] and same == 0:16same = 117start = i + 218i += 119continue20while i < n - 1 and nums[i] == nums[i + 1] and same == 1:21end = i + 122i += 123i += 124if start != -1 and end != -1:25no_of_shifts = end - start + 126while i < n:27nums[i - no_of_shifts] = nums[i]28i += 129n = n - no_of_shifts30i = start31start = -132end = -133same = 03435return n