原題解
題目
解法
逆向雙指標
演算法數學驗證
是先假設符合空間要求,化簡公式得到的p2正好取值在[0, n],符合要求
程式碼
public void merge(int[] nums1, int m, int[] nums2, int n) {
int a = m - 1, b = n - 1, c = m + n - 1;
while (a >= 0 && b >= 0) {
nums1[c--] = nums1[a] > nums2[b] ? nums1[a--] : nums2[b--];
}
while (a >= 0) {
nums1[c--] = nums1[a--];
}
while (b >= 0) {
nums1[c--] = nums2[b--];
}
}