二分法
###用二分法算出当前的数字是否包含在一个数组里面
总结思路:
1.中间值的下标 = (最后一个数组的下标 - 第一个数组的下标)/2 +第一个数组的下标
2.是否在中间值的左边,在的话,中间值 -1
3.是否在中间值的右边,在的话,中间值 +1
4.是否等于中间值,等于的话,即包含,不存在的话,即为不包含 注:中间值是要在一直变的例如 1~5 中间值是3,下次比较的话,变成1~2比较中间值是1.5
public boolean (int[] num, target) {
int first = 0;
int last = num.length-1;
while (first < = last) {
int middle = (last - first)/ 2 +first;
int mid = num[middle]; //中间值
if (mid == target) {
//说明就是该值
return true;
} else if (target > mid) {
//说明在中间值的右边
first = middle +1;
} else {
last = middle -1;
}
}
//不存在
return false;
}

浙公网安备 33010602011771号