题解 | #数字在升序数组中出现的次数#

数字在升序数组中出现的次数

http://www.nowcoder.com/practice/70610bf967994b22bb1c26f9ae901fa2

    public int GetNumberOfK(int [] array, int k) {
        if(array.length == 0){
            return 0;
        }
       int n = array.length;
       int l = 0;
       int r = n-1;
       while(l < r){
           int mid = ((r-l)>>1)+l;
           if(array[mid] >= k){
               r = mid ; 
           }else{
               l = mid+1;
           }
       }
        int ll = l;
        if(array[l] != k){
            return 0;
        }
        l = 0;
        r = n-1;
    while(l < r){
           int mid = ((r-l+1)>>1)+l;
           if(array[mid] <= k){
              l = mid;
           }else{
              r = mid-1;
           }
    }
        return (l-ll+1);
       }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 13:32
点赞 评论 收藏
分享
牛客83700679...:简历抄别人的,然后再投,有反馈就是简历不行,没反馈就是学历不行,多投多改只要技术不差机会总会有的
点赞 评论 收藏
分享
Twilight_m...:经典我朋友XXXX起手,这是那种经典的不知道目前行情搁那儿胡编乱造瞎指导的中年人,不用理这种**
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务