public class Solution {
//二分 按照array[X] < k
public int GetNumberOfK(int [] array , int k) {
if (array.length == 0 || array == null) {
return 0;
}
int l = 0, r = array.length - 1;
while (l < r) {
int mid = l + ((r - l) >> 1);
if (array[mid] < k) {
l = mid + 1;
} else {
r = mid;
}
}
if (array[l] != k) {
return 0;
}
int left = l;
l = 0;
r = array.length - 1;
while (l < r) {
int mid = l + ((r - l + 1) >> 1);
if (array[mid] <= k) {
l = mid;
} else {
r = mid - 1;
}
}
return r - left + 1;
}
}