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

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

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

java整数二分两个模板
1.将集合划分为[l,mid][mid + 1,r]
2.将集合划分为[l,mid - 1][mid,r]

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

相关推荐

牛客316659795号:不是,证明hr初筛已经过了,要投给部门筛一遍
点赞 评论 收藏
分享
野猪不是猪🐗:现在的环境就是这样,供远大于求。 以前卡学历,现在最高学历不够卡了,还要卡第一学历。 还是不够筛,于是还要求得有实习、不能有gap等等... 可能这个岗位总共就一个hc,筛到最后还是有十几个人满足这些要求。他们都非常优秀,各方面都很棒。 那没办法了,看那个顺眼选哪个呗。 很残酷,也很现实
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务