数字在数组中出现次数

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

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

相关推荐

10-13 17:47
门头沟学院 Java
wulala.god:图一那个善我面过,老板网上找的题库面的
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务