題目描述
統計一個數字在排序數組中出現的次數。
public class Solution {
public int GetNumberOfK(int [] array , int k) {
int l=0,r=array.length-1,mid;
int L,R;
while(l<=r){
mid=(l+r)>>1;
if(array[mid]<k) l=mid+1;
else r=mid-1;
}
if(l>=array.length||array[l]!=k) return 0;
L=l;
l=0;
r=array.length-1;
while(l<=r){
mid=(l+r)>>1;
if(array[mid]>k) r=mid-1;
else l=mid+1;
}
if(r<0||array[r]!=k) return 0;
R=r;
return R-L+1;
}
}