文章目录
一、合并两个有序的数组

public void merge(int[] nums1, int m, int[] nums2, int n) {
int temp[] = new int[m + n];
int index = 0;
int i = 0;
int j = 0;
while (i < m && j < n) {
if (nums1[i] <= nums2[j])
temp[index++] = nums1[i++];
else
temp[index++] = nums2[j++];
}
for (; i < m; ) {
temp[index++] = nums1[i++];
}
for (; j < n; ) {
temp[index++] = nums2[j++];
}
for (int k = 0; k < m + n; k++) {
nums1[k] = temp[k];
}
}
二、第一个错误版本

public int firstBadVersion(int n) {
int min = 1, max = n;
while (min < max) {
int mid = min + (max - min) / 2;
if (!isBadVersion(mid)){
min = mid + 1;
}else{
max = mid;
}
}
return min;
}