diff --git a/Duplicates_80.py b/Duplicates_80.py new file mode 100644 index 00000000..5fdab961 --- /dev/null +++ b/Duplicates_80.py @@ -0,0 +1,13 @@ +class Solution: + def removeDuplicates(self, nums: List[int]) -> int: + if len(nums) <= 1: + return len(nums) + + k = 2 # position to place next valid element + + for i in range(2, len(nums)): + if nums[i] != nums[k - 2]: + nums[k] = nums[i] + k += 1 + + return k \ No newline at end of file diff --git a/Merge_88.py b/Merge_88.py new file mode 100644 index 00000000..170f139d --- /dev/null +++ b/Merge_88.py @@ -0,0 +1,19 @@ +class Solution: + def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None: + i = m - 1 + j = n - 1 + k = m + n - 1 + + while i >= 0 and j >= 0: + if nums1[i] > nums2[j]: + nums1[k] = nums1[i] + i -= 1 + else: + nums1[k] = nums2[j] + j -= 1 + k -= 1 + + while j >= 0: + nums1[k] = nums2[j] + j -= 1 + k -= 1 \ No newline at end of file