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

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

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

    public int GetNumberOfK(int [] array, int k) {
        if(array.length==0){
            return 0;
        }
        int count = 0;  //统计个数
        int left = 0;  //左边的下标
        int right = array.length - 1; //右边的下标
        while (left<array.length) {//从零开始遍历,直到找到等于k的下标
            if(array[left]==k){
                break;
            }else{
                left++;
            }
        }
        while(right>=0){//从最大值开始遍历,直到找到等于k的下标
            if(array[right]==k){
                break;
            }else{
                right--;
            }
        }
        if(left>=array.length||right<0){//如果没有找到就输出0,否则就输出左右下标的差值加1
            return 0;
        }else{
            return right-left+1;
        }
    }
}
全部评论

相关推荐

河和静子:如果大专也能好过的话,我寒窗苦读几年的书不是白读了?
点赞 评论 收藏
分享
拒绝无效加班的小师弟很中意你:求职意向没有,年龄、课程冗余信息可以删掉,需要提升项目经历。排版需要修改。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务