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

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

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

相关推荐

吴offer选手:我卡在笔试才是最好笑的,甚至没给我发过笔试链接
投递哔哩哔哩等公司6个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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