Leetcode/python/35_search_insert_position.py

22 lines
700 B
Python
Raw Normal View History

2024-04-08 15:22:30 +00:00
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
lower = 0
upper = len(nums)-1
while True:
mid = (upper + lower) // 2
if nums[mid] == target:
return mid
elif mid == 0 and nums[mid] > target:
return mid
elif mid >= len(nums) - 1:
if nums[mid] < target:
return mid + 1
else:
return mid
elif nums[mid] > target and nums[mid-1] < target:
return mid
elif nums[mid] < target:
lower = mid + 1
else:
upper = mid - 1