剑指offer
数字在排序数组中出现的次数
public class Solution {
private int count = 0;
public int GetNumberOfK(int[] array, int k) {
if (array.length <= 0)
return 0;
binarySearch(array, 0, array.length - 1, k);
return count;
}
public void binarySearch(int[] array, int l, int h, int k) {
if (l > h) {
return;
}
int m = (l + h) >> 1;
if (array[m] == k) {
count++;
binarySearch(array, l, m - 1, k);
binarySearch(array, m + 1, h, k);
} else if (array[m] > k) {
binarySearch(array, l, m - 1, k);
} else if (array[m] < k) {
binarySearch(array, m + 1, h, k);
}
}}

京公网安备 11010502036488号