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

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

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

统计一个数字在排序数组中出现的次数。

   //思路,因为是排序数组,所以指定数字的出现肯定是连续的。后面可以不用再遍历。 
    public int GetNumberOfK(int [] array , int k) {
       int count=0;
        for(int a:array){
            if(a==k){
                ++count;
            }else if(count>0){
                break;
            }

        }
        return count;
    }

看了下一叶浮尘的回答。还是大佬的叶姐的解法牛逼。

import java.util.Arrays;

public class Solution {
    //思路,二叉搜索。 
    public int GetNumberOfK(int [] array , int k) {
        int index=Arrays.binarySearch(array,k);
        if(index<0){
            return 0;
        }
        int count=1;
        for(int i=index+1;i<array.length&&array[i]==k;i++){
            count++;
        }
        for(int j=index-1;j>=0&&array[j]==k;j--){
            count++;
        }
        return count;
    }
}
全部评论

相关推荐

牛客小菜鸡66:boss里面,招人的叫老板,找工作的叫牛人
点赞 评论 收藏
分享
牛客37185681...:马德,我感觉这是我面过最恶心的公司,一面是两个女hr,说什么实习前几个月属于试用期,试用期过了才能转成正式实习生,我***笑了,问待遇就是不说,问能不能接受全栈,沙币公司
如果可以选,你最想去哪家...
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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