二分查找法是对一组有序的数字中进行查找,传递相应的数据,进行比较查找到与原数据相同的数据,二分查找法要求查找的数列必须为有序的。
例:统计一个数字在排序数组中出现的次数。
import java.util.Arrays;
public class Solution {
public int GetNumberOfK(int [] array , int k) {
if(array.length==1){
if(array[0]==k) return 1;
else return 0;
}
else if(array.length==0)return 0;
else{
int pos=array.length/2;
int[] leftarr=Arrays.copyOfRange(array, 0, pos);
int[] rigtharr=Arrays.copyOfRange(array, pos, array.length);
return GetNumberOfK(leftarr , k)+GetNumberOfK(rigtharr, k);
}
}
}