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