smj007

Untitled

Jun 20th, 2022
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 0.87 KB | None | 0 0
  1. class Solution:
  2.     def search(self, nums: List[int], target: int) -> int:
  3.        
  4.         left = 0
  5.         right = len(nums) - 1
  6.        
  7.         while(left <= right):
  8.            
  9.             mid = left + (right - left)//2
  10.            
  11.             # Base condition
  12.             if nums[mid] == target:
  13.                 return mid
  14.            
  15.             # check which portion of sorted array you lie in
  16.             # left sorted array
  17.             if nums[left] <= nums[mid]:
  18.                 if nums[left] <= target < nums[mid]:
  19.                     right = mid - 1
  20.                 else:
  21.                     left = mid + 1
  22.             # right sorted array
  23.             else:
  24.                 if nums[mid] < target <= nums[right]:
  25.                     left = mid + 1
  26.                 else:
  27.                     right  = mid - 1
  28.                    
  29.         return -1
Advertisement
Add Comment
Please, Sign In to add comment