
LeetCode 训练场:35. 搜索插入位置
发布日期:2021-05-08 06:28:27
浏览次数:20
分类:精选文章
本文共 903 字,大约阅读时间需要 3 分钟。
1. 题目
2. 描述
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
你可以假设数组中无重复元素。
示例 1:
输入: [1,3,5,6], 5
输出: 2示例 2:
输入: [1,3,5,6], 2
输出: 1示例 3:
输入: [1,3,5,6], 7
输出: 4示例 4:
输入: [1,3,5,6], 0
输出: 0
3. 思路
首先对目标值进行判断,可以分为以下三种情况
- 若是小于数组最小值,则插入位置索引为
0
; - 若大于数组最大值,则插入位置索引为
nums.length
; - 若是介于最大值和最小值之间,则插入位置为
i + 1
此时主要进行判断操作和遍历操作,所以最终时间复杂度为 O ( n ) O(n) O(n).
4. 实现
public int searchInsert(int[] nums, int target) { int index = 0; // 小于最小数,则插入最开始 if (target < nums[0]) { index = 0; } else if (target > nums[nums.length - 1]) { // 大于最大数,则插入最后 index = nums.length; } else { // 介于之间,则插入位置 i + 1 for (int i = 0; i < nums.length; i++) { if (target == nums[i]) { index = i; } else if (target > nums[i] && target < nums[i + 1]) { index = i + 1; } } } return index;}
发表评论
最新留言
很好
[***.229.124.182]2025年03月28日 23时39分56秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
MSSQL 2005 数据库变成可疑状态
2021-05-09
QBlog V2.5 源码开放下载(ASP.NET 番外系列之开端)
2021-05-09
秋色园引发CPU百分百命案的事件分析与总结
2021-05-09
安装jdk并配置环境变量
2021-05-09
稀疏数组
2021-05-09
js的严格模式
2021-05-09
idea的安装和无限期试用
2021-05-09
Oracle VM VirtualBox安装PVE虚拟机
2021-05-09
【转】如何用css限制文字长度,使溢出的内容用省略号…显示
2021-05-09
Android MediaPlayer setDataSource failed
2021-05-09
ASP.NET Core 实战:Linux 小白的 .NET Core 部署之路
2021-05-09
【nodejs原理&源码杂记(8)】Timer模块与基于二叉堆的定时器
2021-05-09
大前端的自动化工厂(1)——Yeoman
2021-05-09
数据仓库建模方法论
2021-05-09
虚拟机搭建hadoop环境
2021-05-09
DataStax Bulk Loader教程(四)
2021-05-09
.NET应用框架架构设计实践 - 概述
2021-05-09
Rust 内置 trait :PartialEq 和 Eq
2021-05-09
Hibernate(十四)抓取策略
2021-05-09