0%

在有序数组中插入数字

题目要求:

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

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

解题思路:

暴力法略,二分法是重点注意从left=0,right=len(nums)开始

1
2
3
4
5
6
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
for index,value in enumerate(nums):
if value>=target:
return index
return len(nums) ##暴力法
1
2
3
4
5
6
7
8
9
10
11
class Solution:
def searchInsert(self, nums: List[int], target: int) -> int:
left=0
right=len(nums)
while left<right:
mid=left+(right-left)//2
if target>nums[mid]:
left=mid+1
else:
right=mid
return left ##二分法