import java.util.Arrays;
public class BinarySearch{
public static int rank(int key,int[]a){
int x=0;
int y=a.length-1;
while(x<y){
int mid=x+(y-x)/2;
if(key<a[mid])y=mid-1;
else if (key>a[mid])x=mid+1;
else return mid;
}
return -1;
}
public static void main(String[]args){
int[]whitelist=In.readInts(args[0]);
Array.sort(whitelist); //升序
while(!StdIn.isEmpty()){ //读取键盘值如果不存在于
int key=StdIn.readInt(); //白名单中将其打印
if(rank(key,whitelist)<0)
StdOut.println(key);
}
}
}
经典的二分查找
最新推荐文章于 2019-01-09 22:42:21 发布