You may assume no duplicates in the array.
Example 1:
Input: [1,3,5,6], 5 Output: 2
Example 2:
Input: [1,3,5,6], 2 Output: 1
Example 3:
Input: [1,3,5,6], 7 Output: 4
Example 4:
Input: [1,3,5,6], 0 Output: 0
这道题不需要想的复杂,不用考虑太多判定条件,先设置一个index=0。然后从开始遍历,如果当前==target,那么索引就是这里,如果当前<target,那么index肯定在后面,所以这里index=i+1,如果当前>target那么直接退出循环。因为已经在<的情况下+1了,不用考虑数组中没有target的时候要找它比前大比后小的那个中间位置。
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
index=0
for i in range(len(nums)):
if nums[i]==target:
index=i
elif nums[i]<target:
index=i+1
else:
break
return index