合并两个有序数组

思路 :

1.倒叙遍历两个数组,两两比较,较大的放入目标数组最后一个

2.需要三个指针  i1  i2  cur 移动三指针

public void merge(int[] nums1, int m, int[] nums2, int n) {
  int i1 = m - 1;
  int i2 = n - 1;
  int cur = nums1.length - 1;

while (i2 >= 0) {
  if (i1 >= 0 && nums2[i2] < nums1[i1]) {
    nums1[cur--] = nums1[i1--];
  } else { // i1 < 0 || nums2[i2] >= nums1[i1]
    nums1[cur--] = nums2[i2--];
  }
 }
}

上一篇:【图像计数】基于matlab染色体计数【含Matlab源码 1066期】


下一篇:Python之Ajax