Merge Sorted Array (88)
Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array.
Input:
nums1 = [5,13,17,0,0,0,0], m = 3
nums2 = [3,7,11,19], n = 4Approach:
nums1 = [5,13,17,0,0,0,19,0]
nums1 = [5,13,17,0,0,17,19,0]
nums1 = [5,13,17,0,13,17,19,0]
nums1 = [5,13,17,11,13,17,19,0]
nums1 = [5,13,7,11,13,17,19,0]
nums1 = [5,5,7,11,13,17,19,0]
nums1 = [3,5,7,11,13,17,19,0]class Solution {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int k = m + n - 1;
int i = m - 1, j = n - 1;
while(i >= 0 && j >= 0){
nums1[k --] = nums2[j] > nums1[i] ? nums2[j--] : nums1[i--];
}
while(j >= 0)
nums1[k--] = nums2[j--];
}
}Last updated