题目描述
统计一个数字在排序数组中出现的次数。
题解
使用二分搜索
public class Solution {
public int GetNumberOfK(int [] array , int k)
{
return BinSearch(array,k+0.5)-BinSearch(array,k-0.5);
}
private int BinSearch(int [] array, double k)
{
int l = 0;
int h = array.length-1;
while(l<=h)
{
int mid = l+(h-l)/2;
if(array[mid]<k)
l = mid+1;
else if(array[mid]>k)
h = mid-1;
}
return l;
}
}
python使用count就可以直接返回结果,并且还能直接提交。