leetcode——81. 搜索旋转排序数组 II

自己想复杂了,虽然意识到了是什么问题,但是处理的过程复杂化了

public boolean search(int[] nums, int target) {
        int first = 0,last = nums.length;
        while(first != last){
            int mid = first +(last-first)/2;
            if(nums[mid] == target){
                return true;
            }
            if(nums[first]<nums[mid]){
                if(nums[first] <= target  && target<=nums[mid]){
                    last = mid;
                }else{
                    first = mid+1;
                }
            }else if(nums[first] > nums[mid]){
                if(nums[mid] <= target && target <= nums[last-1]){
                    first = mid+1;
                }else{
                    last = mid;
                }
            }else if(nums[first] == nums[mid]){
                first ++;
            }
        }
        return false;
    }

 

 

——2020.7.8

posted @ 2020-07-08 17:12  欣姐姐  阅读(138)  评论(0编辑  收藏  举报