话说前天去大众点评面试,叫我写个二分查找的问题,当时很快就写出来了,记得还问了个伯努利分布问题,
再到昨天去参加他们的在线笔试,由于我不是计算机出身的,大众点评的笔试题目全部是数据结构方面的问题,
什么二叉树,红黑树,路径搜索,反正就被虐的很惨,不多说了,看看二叉查找的代码:
package excise;
import java.util.Random;
import java.util.Arrays;
public class Test3 {
public static void main(String args[]) throws Exception{
int test[]=new int[10];
for(int i=0;i<test.length;i++){
test[i]=new Random().nextInt(40);
}
Arrays.sort(test);
System.out.println(Arrays.toString(test));
int result=treefind(test,32);
if(result==-1){
System.out.println("元素没找到");
}else{
System.out.println("元素已经找到");
}
}
public static int treefind(int[] test,int n){
int low=0;
int high=test.length-1;
while(low<=high){
int mid=(low+high)/2;
if(n==test[mid]){
return n;
}else if(n<test[mid]){
high=mid-1;
}else{
low=mid+1;
}
}
return -1;
}
}