public class Solution {
public int GetNumberOfK(int [] array , int k) {
if(array.length==0) return 0;
int high=array.length-1;
int num=0;
int low=0;
if(k>array[high]||k<array[low]){
return 0;
}
while(low<=high){
int mid=(low+high)/2;
if(k>array[mid]){
low=mid+1;
}else if(k<array[mid]){
high=mid-1;
}else{
low=mid;
high=mid+1;
break;
}
}
while(low>=0){
if(array[low--]==k){
num++;
}else{
break;
}
}
while(high<array.length){
if(array[high++]==k){
num++;
}else{
break;
}
}
// System.out.println("num--"+num);
return num;
}
}
牛客--统计一个数字在排序数组中出现的次数
最新推荐文章于 2022-01-29 18:55:56 发布