统计一个数字在排序数组中出现的次数。
public class Solution {
public int GetNumberOfK(int [] array , int k) {
if(array == null || array.length == 0) return 0;
int start = 0 , end = array.length - 1;
int middle = 0 , count = 0;
while( start <= end){
middle = (start + end) / 2;
if( array [middle] > k)
end = middle - 1;
else if( array [middle] < k)
start = middle + 1;
else
break;
}
if(array [middle] == k){
int i = middle;
while( i >= 0 && array[i] == k){
i -- ;
count ++ ;
}
i = middle + 1;
while( i < array.length && array[i] == k){
i ++ ;
count ++ ;
}
}
return count;
}
}