题目描述
统计一个数字在排序数组中出现的次数。
思路:看到顺序就用二分查找。
public class Solution {
public int GetNumberOfK(int [] array , int k) {
int left = 0;
int right = array.length-1;
return findNum(array, left, right, k);
}
public int findNum(int []array,int l,int r,int k){
if(l<=r){
int mid = (l+r)/2;
if(array[mid] == k){
return findNum(array, l, mid-1, k)+findNum(array, mid+1, r, k)+1;
}else {
return findNum(array, l, mid-1, k)+findNum(array, mid+1, r, k);
}
}
else {
return 0;
}
}
}