猜数字这样的游戏常常会用到二分法,别人预先确定了一个100以内数字看你多少次能猜中,一般来说,我们会先猜50,这样可以将猜测的范围减少一半。
int[] num=new int[]{2,4,6,8,10,12,14,16,18,20};
int snum=14;
int start=0;
int end=num.length-1;
int index=-1;
while(start<=end){
int i=(start+end)/2;
if(snum<num[i]){
end=i-1;
}else if(snum>num[i]){
start=i+1;
}else{
index=i;
break;
}
}
System.out.println(index);