Leetcode # 80. Remove Duplicates from Sorted Array II
- 2023.08.04
- ★★ Medium LeetCode Two Pointers
https://leetcode.com/problems/remove-duplicates-from-sorted-array-ii
My Solution
Time Complexity: O(len(nums))
Space Complexity: O(1)
(The input and output generally do not count towards the space complexity.)
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
insert_i = 0
count = 1
for i in range(1, len(nums)):
if nums[i] != nums[i - 1]:
for j in range(min(2, count)):
nums[insert_i] = nums[i - 1]
insert_i += 1
count = 1
else:
count += 1
for j in range(min(2, count)):
nums[insert_i] = nums[- 1]
insert_i += 1
return insert_i
Better Solution
Time Complexity: O(len(sum))
Space Complexity: O(1)
(The input and output generally do not count towards the space complexity.)
class Solution:
def removeDuplicates(self, nums: List[int]) -> int:
insert_i = 1
count = 1
for i in range(1, len(nums)):
if nums[i] == nums[i - 1]:
count += 1
else:
count = 1
# be skipped if count > 2
if count <= 2:
nums[insert_i] = nums[i]
insert_i += 1
return insert_i
關聯問題
Last Updated on 2023/08/16 by A1go