问题描述:
Follow up for “Search in Rotated Sorted Array”:
What if duplicates are allowed?
Would this affect the run-time complexity? How and why?
Write a function to determine if a given target is in the array.
实现代码:
public class Solution { public static boolean search(int[] nums, int target) { int index=0; for(int i=0;i<nums.length-1;i++){ if(nums[i] > nums[i+1]){ index = i+1; break; } } int left=0,right=nums.length-1; if(target > nums[right]){ right=index-1; }else if(target < nums[right]){ left=index; }else if(index!=0 && target==nums[right]){ return true; } index=(left+right)/2; while(left <= right){ System.out.println("000000"); if(target < nums[index]){ right=index-1; }else if(target > nums[index]){ left=index+1; }else{ return true; } index=(left+right)/2; } return false; } }
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/7205.html