二刷hot100-33.搜索旋转排序数组

📅 2026/8/18 14:49:05
二刷hot100-33.搜索旋转排序数组
在二分查找的基础上加了一些判断因为数组并非单纯的有序class Solution { public int search(int[] nums, int target) { int left -1; int right nums.length; while(left 1 right){ int mid left (right - left) / 2; if(f(nums,target,mid)){ right mid; }else{ left mid; } } if(right nums.length || right 0 || nums[right] ! target){ return -1; } return right; } public boolean f(int[] nums,int target,int mid){ if(nums[mid] nums[nums.length - 1]){ return target nums[nums.length - 1] target nums[mid]; }else{ return target nums[nums.length - 1] || target nums[mid]; } } }