题目描述:

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

你可以假设数组中无重复元素。

示例 1:

输入: [1,3,5,6], 5
输出: 2

示例 2:

输入: [1,3,5,6], 2
输出: 1

示例 3:

输入: [1,3,5,6], 7
输出: 4

示例 4:

输入: [1,3,5,6], 0
输出: 0

解题思路:

这题的重点在于可以假设元素不相同,即无重复元素。


  1. 检查所给目标值是否在数组中,若在,返回所在位置索引
  2. 若不在,添加进数组中,进行排序后返回索引值即可

代码实现:

class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
if target in nums: # 检查所给目标值是否在数组中,若在,返回所在位置索引
return nums.index(target)
else: # 若不在,添加进数组中,进行排序后返回索引值即可
nums.append(target)
nums.sort()
return nums.index(target)

                                               

LeetCode刷题(python)——35. 搜索插入位置_力扣