1.题目:
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 请必须使用时间复杂度为 O(log n) 的算法。 示例 1: 输入: nums = [1,3,5,6], target = 5 输出: 2
解题思路:暴力循环
设定各种边界条件
代码如下:
class Solution:
def searchInsert(self, nums: list[int], target: int) -> int:
zongchangdu= len(nums)
if nums[zongchangdu - 1] == target: # 最后一位
return zongchangdu - 1
if nums[zongchangdu - 1] < target:
return zongchangdu
if nums[0] > target: # 第一位
return 0
for bianli in range(zongchangdu):
if nums[bianli] == target:
return bianli
for bianli1 in range(zongchangdu-1):
if nums[bianli1] < target < nums[bianli1 + 1]:
return bianli1 + 1
duixiang=Solution()
jieguo=duixiang.searchInsert(nums=[1,3,5,6],target=5)
print(jieguo)
结果如下:
2