剑指 Offer 53 - I. 在排序数组中查找数字 I

package leetcode;

public class offer_53 {
    public int search(int[] nums, int target) {
        int i=0;
        int j=nums.length-1;
        //target超出范围或者nums为空
        if(nums.length<1||target>nums[j]||target<nums[0]) {return 0;}
        while(i<=j) {
            //双指针,如果头指针找到target,再从尾指针找开始找,个数即为两个坐标的差加一
            if(nums[i]==target) {
                if(nums[j]==target) {
                    return j-i+1;
                }
                else {
                    j=j-1;
                }
            }else {
                i=i+1;
            }
        }
        return 0;
    }
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        offer_53 off=new offer_53();
        int[] nums= {5,7,7,8,8,10};
        System.out.println(off.search(nums, 8));
    }

}

 

posted on 2022-03-05 11:16  一仟零一夜丶  阅读(20)  评论(0)    收藏  举报