數字在排序數組中出現的次數(兩次二分)

題目描述
統計一個數字在排序數組中出現的次數。

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;
    }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章