LeetCode—剑指Offer:在排序数组中查找数字Ⅰ(二分法)

在排序数组中查找数字Ⅰ

2020年9月9日

题目来源:力扣

在这里插入图片描述

解题
二分法查找这个数的起始位置和终点位置,相减可得结果

class Solution {
    
    
    public int search(int[] nums, int target) {
    
    
        return find(nums,target)-find(nums,target-1);
    }
    private int find(int[] nums,int target){
    
    
        int l=0,r=nums.length-1;
        while(l<=r){
    
    
            int c=l+(r-l)/2;
            if(nums[c]<=target) l=c+1;
            else r=c-1;
        }
        return l;
    }
}

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_41541562/article/details/108481553
今日推荐