035.搜索插入位置-二哥 LeetCode刷题笔记
鲁迅曾说,人生就是一个曲折不断的过程,你可能正在向上求索,但成绩却不尽如人意。甚至这个时候还有人在背后捅你一刀,怎么办呢?这时候只能继续坚持,熬过去就对了。就像今天这道题,仍然是二分查找搜索插入位置,来吧,向前继续冲吧。
题意
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
请必须使用时间复杂度为 O(log n) 的算法。
难度
简单
示例
输入: nums = [1,3,5,6], target = 5
输出: 2
输入: nums = [1,3,5,6], target = 2
输出: 1
输入: nums = [1,3,5,6], target = 7
输出: 4
分析 1
同样,在不考虑时间复杂度的情况下,我们来看一下这道题的解法。
①、如果目标值在数组中,那就是直接遍历数组,找到和 target 相等的元素,返回索引即可。
②、如果目标值不在数组中,题目要求返回插入的位置,那么由于数组是排序过的(默认都是正序),那么第一个大于 target 的元素位置,就是 target 应该插入的位置。
class Solution {
public int searchInsert(int[] nums, int target) {
for (int i = 0; i < nums.length; i++) {
if (nums[i] >= target) {
return i;
}
}
...
已加入星球,可直接知识星球授权登录
二哥编程星球目前包含:
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
企业级Agent工作流编排项目PaiFlow
Vibe Coding版本的PaiAgent
派聪明RAG AI知识库Java版本+Go版本
微服务 PmHub、技术派、MYDB
求职派JobClaw(OpenClaw/Hermes架构
PaiCLI(类似Claude Code的Agent
派简历(代码已完成)
等实战项目。
1. 微信扫右侧的优惠券加入知识星球
2. 解锁星球的实战项目教程和源码: 项目源码+教程获取
热门评论
2 条评论
回复