数字在数组中出现次数

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

public class Solution {
    public int GetNumberOfK(int [] array , int k) {
        //求插入k-0.5与k+0.5插入到array位置的差
       return insert(array,k+0.5)-insert(array,k-0.5);
    }
    //编写插入函数
    private int insert(int [] array,double num){
        int left=0,right=array.length-1;
    //二分法查找num要插入的位置
        while(left<=right){
        //!!!!!!!!!!!!!!!为何原作者要+left?
            int mid=(right-left)/2+left;
        //中间值小于num,更新left
            if(array[mid]<num)
                left=mid+1;
        //中间值大于num,更新right
            else if(array[mid]>num)
                right=mid-1;
        }
        return left;
    }
}
全部评论

相关推荐

买蜜雪也用卷:我觉得应该没有哪个人敢说自己熟练使用git,代码分支一复杂还是得慢慢寻思一下的,不过基本的拉代码提交代码还有分支什么的是应该会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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