题目描述:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 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
解题思路:
这题的重点在于可以假设元素不相同,即无重复元素。
- 检查所给目标值是否在数组中,若在,返回所在位置索引
- 若不在,添加进数组中,进行排序后返回索引值即可
代码实现:
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)
关注我的公众号免费领取海量python视频教程!!!!