public class Leetcode88 {
public void merge(int[] nums1, int m, int[] nums2, int n) {
int i = m - 1;
int j = n - 1;
int length = m + n - 1;
while (i >= 0 && j >= 0) {
//最终数组从后开始放最大元素 哪个数组放进去了就往下移一位 继续比较
nums1[length--] = nums1[i] > nums2[j] ? nums1[i--] : nums2[j--];
}
//当数组1循环完了 数组2没循环完 说明数组2剩下的元素全都小于数组1最小元素 直接复制
if (i == -1 && j != -1) {
System.arraycopy(nums2, 0, nums1, 0, j + 1);
// 资源数组 资源数组起始 目标数组 目标数组起始 拷贝多少位
}
}
}
leetcode88
于 2023-09-19 22:30:52 首次发布