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
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.
merge-sorted-array/synced-solution.cppmerge-sorted-array/synced-solution.pymerge-sorted-array/synced-solution.tsclass 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]
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--];
}
};
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--];
}