题目
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例1:
输入: [1,3,5,6], 5
输出: 2
示例2:
输入: [1,3,5,6], 2
输出: 1
解题思路
解题没有用到许多大佬用的二分查找法,只是利用了列表的特性,所以内存消耗较大。
- 先判断目标值在不在列表中,如果在则返回目标值在列表里的下标;
- 若不在列表里,则把目标值添加进列表,再列表排序,最后返回目标值再列表的下标。
代码提交
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)
执行用时 :44 ms, 在所有 Python3 提交中击败了64.98%的用户
内存消耗 :14.3 MB, 在所有 Python3 提交中击败了7.14%的用户