第一步:排序
要想对数值型数组进行排序, 可以使用 Arrays 类中的 sort 方法:
第二步:二分查找
public class TestHomework {
public static void main(String[] args) {
int[] str={1,2,3,6,8,9};
int key=8;
System.out.println(binarySearch(str,key));
}
public static int binarySearch(int[] str,int key){
int left=0;
int right=str.length-1;
while(left<=right) {
int mid=(left+right)>>>1;
if (str[mid] == key)
return mid;
else if (str[mid] > key) {
right = mid - 1;
}
else if(str[mid]<key)
left=mid+1;
}
return -1;
}
我这里直接给了个有序数组
运行结果: