leetcode Search in Rotated Sorted Array python

 

#Suppose a sorted array 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.




class
Solution(object): def search(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int """ left=0 right=len(nums)-1 while left <= right: mid = (left+right)/2 if target == nums[mid]: return mid if nums[mid] >= nums[left]: if target < nums[mid] and target >= nums[left]: right=mid-1 else: left=mid+1 elif nums[mid] < nums[right]: if target > nums[mid] and target <= nums[right]: left=mid+1 else: right=mid-1 return -1
原文地址:https://www.cnblogs.com/allenhaozi/p/5059281.html