1
class Solution(object):
2
def removeDuplicates(self, nums):
3
n = len(nums)
4
if n == 2:
5
return 2
6
if n == 0:
7
return 0
8
if n == 1:
9
return 1
10
same = 0
11
start = -1
12
end = -1
13
i = 0
14
while i < n - 1:
15
if nums[i] == nums[i + 1] and same == 0:
16
same = 1
17
start = i + 2
18
i += 1
19
continue
20
while i < n - 1 and nums[i] == nums[i + 1] and same == 1:
21
end = i + 1
22
i += 1
23
i += 1
24
if start != -1 and end != -1:
25
no_of_shifts = end - start + 1
26
while i < n:
27
nums[i - no_of_shifts] = nums[i]
28
i += 1
29
n = n - no_of_shifts
30
i = start
31
start = -1
32
end = -1
33
same = 0
34

35
return n

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0