自己想复杂了,虽然意识到了是什么问题,但是处理的过程复杂化了
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