Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.32 KB | None | 0 0
  1. class Solution:
  2. def search(self, nums, target):
  3. """
  4. :type nums: List[int]
  5. :type target: int
  6. :rtype: int
  7. """
  8. # left = 0
  9. # right = len(nums) - 1
  10. # while left <= right:
  11. # mid = int((left + right)/2)
  12. # if nums[mid] == target:
  13. # return mid
  14. # elif (nums[right] < target) or (nums[mid] > target and nums[right] > target):
  15. # right = mid - 1
  16. # else:
  17. # left = mid + 1
  18. # return -1
  19.  
  20. left = 0
  21. right = len(nums) - 1
  22. while left <= right:
  23. mid = int((left + right)/2)
  24. if nums[mid] == target:
  25. return mid
  26. if (nums[left] < nums[mid]):
  27. if (target < nums[left]) or (target > nums[mid]):
  28. left = mid + 1
  29. else:
  30. right = mid - 1
  31. elif (nums[left] > nums[mid]):
  32. if (target < nums[mid]) or (target >= nums[left]):
  33. right = mid - 1
  34. else:
  35. left = mid + 1
  36. else:
  37. if nums[right] == target:
  38. return right
  39. else:
  40. return -1
  41. return -1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement