Search in Rotated Sorted Array
Example
Solution
class Solution:
"""
@param A : a list of integers
@param target : an integer to be searched
@return : an integer
"""
def search(self, num, target):
# write your code here
if len(num) == 0:
return -1
start, end = 0, len(num) - 1
while start + 1 < end:
mid = ( start + end ) / 2
if num[mid] == target:
return mid
if num[mid] > num[start]:
if target >= num[start] and target <= num[mid]:
end = mid
else:
start = mid
else:
if target >= num[mid] and target <= num[end]:
start = mid
else:
end = mid
if num[start] == target:
return start
if num[end] == target:
return end
return -1Last updated