<aside> 😀 Click here for the LeetCode link.
</aside>
class Solution:
def search(self, nums: List[int], target: int) -> int:
n = len(nums)
if n == 1:
if target == nums[0]:
return 0
else:
return -1
if target == nums[0]:
return 0
if target == nums[-1]:
return n - 1
l, r = 0, n - 1
m = (l + r) // 2
while r - l > 1:
if target == nums[m]:
return m
if target > nums[m]:
l = m
elif target < nums[m]:
r = m - 1
m = (l + r) // 2
if target == nums[l]:
return l
if target == nums[r]:
return r
return -1
<aside> 💡 Leave me a comment for a further discussion!
</aside>