public class Solution {
public int GetNumberOfK(int [] array , int k) {
if(array.length==0||k<array[0]||k>array[array.length-1])
return 0;
//查找上界,最后一个k
int low , high = 0;
int first = 0,size = array.length;
while(first < size){
int mid= (first +size)/2;
if (array[mid] > k){
size = mid;
}else{
//size = mid;
first = mid+1;
}
}
high= first;
//查找下界,第一个k
first = 0; size= array.length;
while(first < size){
int mid= (first + size)/2;
if(array[mid]< k){
first = mid +1;
}else{
size = mid;
}
}
low = first;
return high - low;
//return low - high;
}
}