class Solution:
def search(self, nums, target):
"""
:type nums: List[int]
:type target: int
:rtype: int
"""
# binary search
# if start < mid, then left part is sorted
# if mid < end, then right part is sorted
def get(start, end):
if start > end:
return -1
mid = (start + end) / 2
if nums[mid] == target:
return mid
elif nums[mid] >= nums[start]: # First half is sorted
if target >= nums[start] and target < nums[mid]:
return get(start, mid - 1)
else:
return get(mid + 1, end)
elif nums[mid] <= nums[end]: # Second half is sorted
if target > nums[mid] and target <= nums[end]:
return get(mid + 1, end)
else:
return get(start, mid - 1)
return get(0, len(nums) - 1)
Download Search in Rotated Sorted Array.pyLeetcode 033 Search in Rotated Sorted Array problem solution in python3 with explanation. This is the best place to expand your knowledge and get prepared for your next interview.
Feedback is the most important part of any website.
If you have any query, suggestion or feedback, Please feel free to contact us.