Day 27 35. 搜索插入位置 35. 搜索插入位置题目123456789101112131415161718192021222324252627282930313233343536给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 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示例 4:输入: nums = [1,3,5,6], target = 0输出: 0示例 5:输入: nums = [1], target = 0输出: 0 提示:1 <= nums.length <= 104-104 <= nums[i] <= 104nums 为无重复元素的升序排列数组-104 <= target <= 104 题目思路 1、修改二分法模板的题目, 12345678910111213141516class Solution {public: int searchInsert(vector<int>& nums, int target) { int n = nums.size(); int l = 0, r = n - 1; int mid = 0; while(l <= r) { mid = l + (r - l) / 1; if(nums[mid] == target) return mid; else if(nums[mid] > target) r = mid - 1; else l = mid + 1; } return l == mid + 1 ? l : mid; }}; 复杂度 时间复杂度:O(logn) 空间复杂度:O(1) 91-day-algorithm #binary search Day 27 35. 搜索插入位置 https://chaggle.github.io/2021/10/06/Leetcode/91-day/day-27/ 作者 chaggle 发布于 2021年10月6日 许可协议 414. 第三大的数 上一篇 284. 顶端迭代器 下一篇 Please enable JavaScript to view the comments