题目描述:
Given a sorted array 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 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
题目大意:
- 给定一个排好顺序数组和target,让你找到target能够在哪个位置,插入到这个数组中去(是按照升序的顺序)
- 返回那个位置的索引
- 当然,如果数组中存在与target相等的数,直接返回那个数的索引
解题思路:
- 本人想的较简单,遍历两次,第一次,就假设target在数组中,返回索引,如果不在
- 那就直接将target,加到原数组中,再进行升序排列
- 在循环一遍,找出target所在位置,返回
少废话,上代码:
class Solution:
def searchInsert(self, nums, target):
# 先遍历一遍,找出等于target的数,返回索引
for i in range(len(nums)):
if nums[i] == target:
return i
nums.append(target) # 直接将target,加进列表
nums.sort() # 再升序排列,重新遍历一次,找到所在位置,返回索引
for i in range(len(nums)):
if nums[i] == target:
return i
运行时间和内存占用:
- Runtime: 52 ms, faster than 44.05% of Python3 online submissions for Search Insert Position.
- Memory Usage: 14.5 MB, less than 5.97% of Python3 online submissions for Search Insert Position.
本文详细解析了在已排序数组中查找目标值插入位置的算法。通过实例展示如何在数组中找到目标值或其合适的位置,并提供了一种简单实现方法。代码示例使用Python编写,展示了遍历和排序的方法。

被折叠的 条评论
为什么被折叠?



