目录
题目
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
示例 1: 示例 2:
输入: nums = [1,3,5,6], target = 5 输入: nums = [1,3,5,6], target = 2
输出: 2 输出: 1
示例 3: 示例 4:
输入: nums = [1,3,5,6], target = 7 输入: nums = [1,3,5,6], target = 0
输出: 4 输出: 0
示例 5:
输入: nums = [1], target = 0
输出: 0
提示:
1 <= nums.length <= 104
-104 <= nums[i] <= 104
nums 为无重复元素的升序排列数组
-104 <= target <= 104
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/search-insert-position
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
思路
二分法(虽然我还并没有学到二分,我学的真慢,感谢高中的残余记忆,虽然都不记得学了些啥了,什么约瑟夫环都忘得差不多了)
然后在纸上罗列了两个例子,得出了最后需要输出的变量(这个代码是在纸上完成的,我真棒)
代码1
提示超时了,当时我特不信,又提交了一遍,还是提示超时,(我又没有遍历,凭什么说我超时),然后我屈服了,改了一下while的条件
代码2
好吧,这个题还是我写起来比较痛快的一个题