数字在升序数组中出现的次数-Java实现

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

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

一. 思路

数组是升序的,可以用二分查找。

二. 代码

public class Solution {
    public int GetNumberOfK(int [] array , int k) {
       if (array == null || array.length == 0) return 0;

        int left = 0, right = array.length-1;
        int mid = 0, count = 0;
        while (left < right) {
            mid = (left+right) / 2;
            if (k < array[mid]) {
                right = mid - 1;
            } else if (k > array[mid]) {
                left = mid + 1;
            } else {
                break;
            }
        }

        for (int i = left; i <= right; i++) {
            if (array[i] == k) {
                count++;
            }
        }

        return count;
    }
}
全部评论

相关推荐

02-11 11:02
已编辑
门头沟学院 硬件开发
Just路人甲:个人建议,把“课程设计”删掉,面试官又不知道你到底是课设还是竞赛,他问你你就说竞赛整的。面试考察的是是你能否🐯得住面试官,即使你插葱装象只要他看不出来,那你也赢了。当然倘若你本身就很硬那自然无懈可击。身边有哥们就是这么拿下心中的 offer 的
点赞 评论 收藏
分享
付费才包邮:本科有这种简历很强了
点赞 评论 收藏
分享
评论
3
2
分享

创作者周榜

更多
牛客网
牛客企业服务