给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为
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提示:
1 <= nums.length <= 104-104 <= nums[i] <= 104nums为 无重复元素 的 升序排列数组-104 <= target <= 104
cppclass Solution { public: int searchInsert(vector<int>& nums, int target) { int l=0,r=nums.size()-1; while(l<r) { int mid=(l+r)/2; if(nums[mid]<target) { l=mid+1; }else{ r=mid; } } if(nums[r]<target) return nums.size(); return l; } };
LeetCode 35. 搜索插入位置
Liangwei Lin2026-05-12 11:38
相关推荐
数智工坊1 小时前
【经典RL算法】Q-Learning:强化学习的里程碑——从理论到收敛证明的完整解析叼烟扛炮1 小时前
C++ 知识点19 匿名对象叼烟扛炮1 小时前
C++ 知识点23 类模板L_09071 小时前
【C++】STL— 封装红黑树以实现map 和 set此生决int1 小时前
快速复习之数据结构篇——二叉树(三)djarmy1 小时前
C 标准库 `<stdio.h>` 完整函数清单(官方标准 + 常用全部函数)七牛云行业应用2 小时前
NotebookLM 手机版上线了,这份完整指南帮你把它用起来城事漫游Molly2 小时前
定量研究设计清单:问卷、实验与变量操作化怎么做?Epiphany.5562 小时前
带依赖关系的最短路问题