15 Jun 2024C++ / Python / TypeScriptEasy

Merge Sorted Array

Collected C++, Python, TypeScript solutions for merge sorted array. Add a dedicated write-up later if you want deeper notes.

auto-generated entry for Merge Sorted Array. the solution files are available below.

solution files

  • C++ merge-sorted-array/synced-solution.cpp
  • Python merge-sorted-array/synced-solution.py
  • TypeScript merge-sorted-array/synced-solution.ts

Solution files

Pythonmerge-sorted-array/synced-solution.py
class Solution:
    def merge(self, nums1: List[int], m: int, nums2: List[int], n: int) -> None:
        i, j, k = m-class="syntax-number">1, n-class="syntax-number">1, m+n-class="syntax-number">1
        while i >= class="syntax-number">0 and j >= class="syntax-number">0:
            if nums1[i] > nums2[j]:
                nums1[k] = nums1[i]; i -= class="syntax-number">1
            else:
                nums1[k] = nums2[j]; j -= class="syntax-number">1
            k -= class="syntax-number">1
        nums1[:j+class="syntax-number">1] = nums2[:j+class="syntax-number">1]
C++merge-sorted-array/synced-solution.cpp
class Solution {
public:
    void merge(vector<int>& nums1, int m, vector<int>& nums2, int n) {
        int i = m-class="syntax-number">1, j = n-class="syntax-number">1, k = m+n-class="syntax-number">1;
        while (i >= class="syntax-number">0 && j >= class="syntax-number">0)
            nums1[k--] = nums1[i] > nums2[j] ? nums1[i--] : nums2[j--];
        while (j >= class="syntax-number">0) nums1[k--] = nums2[j--];
    }
};
TypeScriptmerge-sorted-array/synced-solution.ts
function merge(nums1: number[], m: number, nums2: number[], n: number): void {
    let i = m-class="syntax-number">1, j = n-class="syntax-number">1, k = m+n-class="syntax-number">1;
    while (i >= class="syntax-number">0 && j >= class="syntax-number">0)
        nums1[k--] = nums1[i] > nums2[j] ? nums1[i--] : nums2[j--];
    while (j >= class="syntax-number">0) nums1[k--] = nums2[j--];
}