当前位置: 首页 > news >正文

力扣热题100---------35.搜索插入为位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。

请必须使用时间复杂度为 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] <= 104
nums 为 无重复元素 的 升序 排列数组
-104 <= target <= 104

思路 使用二分查找法,寻找最小的数和最大的数 用他们的下标求出 中间的数 用被查找的值跟中间数进行比较 要是大于中间数 那我们就让left等于中间数的下表+1 要是小于中间数 我们就让right等于中间数的下表-1

class Solution {public int searchInsert(int[] nums, int target) {int left=0;int right=nums.length-1;while (left<=right){int mid=left+(right-left)/2;if (nums[mid]>target){right=mid-1;}else if (nums[mid]<target){left=mid+1;}else {return mid;}}return left;}
}
http://www.dtcms.com/a/307072.html

相关文章:

  • NLU 语义解析评测实践:基于函数调用的 ACC、ROUGE 与 BLEU 综合指标
  • LangGraph底层API学习
  • 论文阅读|CVPR 2025|Mamba进一步研究|GroupMamba
  • RNN、LSTM、Transformer推荐博文
  • AI在软件测试中的应用:自动化测试框架、智能缺陷检测与A/B测试优化
  • 人工智能如何改变项目管理:应用、影响与趋势
  • 无监督MVSNet系列网络概述
  • 并查集算法:Python实现与工程实践指南
  • 如何协调跨部门资源?核心要点分析
  • Java String类练习
  • 客户满意度调查:助力商场提升运营效能​(客户满意度调查)
  • 8.Linux : 日志的管理与时钟同步的配置
  • 代码随想录算法训练营第五十六天|动态规划part6
  • 手动 对列表字段进行排序
  • 【高等数学】第七章 微分方程——第四节 一阶线性微分方程
  • LNN+XGBoost:优化多层供应链订购:缓解牛鞭效应
  • C++STL系列之bitset
  • Git——分布式版本控制系统
  • #C语言——学习攻略:深挖指针路线(四)--字符指针变量,数组指针变量,二维数组传参的本质,函数指针变量,函数指针数组
  • ConvertX:自托管的在线文件转换器,支持1000+种格式!
  • Linux系统编程Day1-- 免费云服务器获取以及登录操作
  • CH347使用笔记:CH347作为FPGA下载器的几种方式
  • Maven 配置阿里云镜像加速
  • huggingface是什么?2025-07-30
  • Mac 上配置jdk 环境变量
  • 2. Agent与 React流程
  • 【LY88】双系统指南及避坑
  • Python 的 match-case
  • 从映射到共生:元宇宙、物联网与AI的智能融合生态图谱
  • (LeetCode 面试经典 150 题) 141. 环形链表(快慢指针)