33. Search in Rotated Sorted Array
Suppose an array sorted in ascending order is rotated at some pivot unknown to you beforehand.
(i.e.,[0,1,2,4,5,6,7]might become[4,5,6,7,0,1,2]).
You are given a target value to search. If found in the array return its index, otherwise return-1.
You may assume no duplicate exists in the array.
Your algorithm's runtime complexity must be in the order of O(log n).
Example 1:
Input:
nums = [4,5,6,7,0,1,2], target = 0
Output: 4Example 2:
Input:
nums = [4,5,6,7,0,1,2], target = 3
Output: -1Thoguths:
Binary search, find the continuous parts by comparing nums[i] with nums[mid],
Doing binary search inside: if it does not work, return -1
Code:
Code: Java
Code: C++
Last updated
Was this helpful?