数字在数组中出现次数

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

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;
    }
}
全部评论

相关推荐

05-20 13:59
门头沟学院 Java
米黑子米黑子:你这个成绩不争取下保研?
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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