1. 题目
搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n)
的算法。
示例 1:
输入: nums = [1,3,5,6], target = 5 输出: 2
示例 2:
输入: nums = [1,3,5,6], target = 2 输出: 1
示例 3:
输入: nums = [1,3,5,6], target = 7 输出: 4
2.解题思路
时间复杂度解释:
时间复杂度是指算法在处理规模为 n 的输入数据时所需要的时间成长速度的一个量度。它是一个函数,描述了算法运行时间随输入规模增长的变化趋势。通常,我们用大 O 符号表示时间复杂度,简写为 O(f(n)),其中 f(n) 是运行时间与输入规模 n 的函数关系。
时间复杂度可以帮助我们评估不同算法在处理同样规模的数据时的性能差异。例如,如果一个算法的时间复杂度为 O(n),而另一个算法的时间复杂度为 O(n^2),那么当输入规模很大时,后者的运行