我今天完成了35. Search Insert Positio
Given a sorted array of distinct integers and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You must write an algorithm with O(log n)
runtime complexity.
Example 1:
Input: nums = [1,3,5,6], target = 5 Output: 2
Example 2:
Input: nums = [1,3,5,6], target = 2 Output: 1
Example 3:
Input: nums = [1,3,5,6], target = 7 Output: 4
这是我的代码:
class Solution(object):
def searchInsert(self, nums, target):
index = 0
for index in range(len(nums)):
if nums[index] == target:
return index
elif nums[index] > target:
return index
return len((nums))
我的思路是首先通过for循环遍历数组。之后可以对比每一个index是否匹配target。如果匹配,则直接返回;同时,对比是否超过了index,如果超过了说明数组中已经不可能存在相同的数字了。所以可以直接得出index所在的位置就是需要插入的位置。如果最后一个数都没有超过target,说明数组中不存在此数。则直接返回数组长度