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

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

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

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

相关推荐

02-10 12:23
已编辑
新余学院 C++
采集想要offer:专业技能那里要一条一条的列出来吧,感觉你项目很厉害了,但是如果你不写技术栈面试官对你项目不太懂的话都没办法问你八股😂C++都是基架岗,都是一群9✌🏻在卷,我觉得你要是有时间学个go把MySQL和redis写上去找个开发岗吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务