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

力扣热题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.xdnf.cn/news/16630.html

相关文章:

  • 查询账户余额
  • 9.项目起步(3)
  • Scala实现常用排序算法
  • 第十二天:C++ 标准库函数分类总结
  • 【AI】开源项目整理
  • [Python] -进阶理解10- 用 Python 实现简易爬虫框架
  • 【同济大学】双速率自动驾驶架构LeAD:端到端+LLM,CARLA实测93%路线完成率,性能SOTA!
  • 基于 Hadoop 生态圈的数据仓库实践 —— OLAP 与数据可视化(四)
  • 机器学习之线性回归的入门学习
  • 语音识别dolphin 学习笔记
  • Linux 日志管理与时钟同步
  • 51单片机入门:数码管原理介绍及C代码实现
  • python快速复习篇(一)
  • Mysql事务基础
  • 7. 传输层协议 TCP
  • 国内数据集成厂商有哪些?如何选择最适合的数据集成平台?
  • Smart #5 Brabus使用45天(7500KM+)初步体验
  • 《Java 程序设计》第 12 章 - 异常处理
  • YOLO融合MogaNet中的ChannelAggregationFFN模块
  • Python 的 match-case
  • Windows管理用户脚本
  • react19更新哪些东西
  • 《计算机组成原理与汇编语言程序设计》实验报告六 存储器实验
  • 常⻅CMS漏洞
  • 第六章第一节 TIM 定时中断
  • VGA 线、DVI 线、HDMI 线、DP 线
  • 浏览器pdf、image显示
  • 视频生成模型蒸馏的方法
  • Linux基本指令,对路径的认识
  • 无人机磁力计模块运行与技术要点!