35. 搜索插入位置

devtools/2025/1/1 5:41:25/
题目链接:https://leetcode.cn/problems/search-insert-position/description/?envType=study-plan-v2&envId=top-100-

算法思路:

        其实与java中Arrays中的binarySearch()方法非常类似,我们肯定时用二分法来解决,但是如果退出循环后l指针指向的值小于target就意味着target的实际存放位置是l+1,如果大于target那么target就应该替代l位置的数,最后我们还要考虑下标是否会越界,如果l越界说明target的值一定是比nums中的数都大,所以也是直接放到l的位置就行。

代码实现:

java">
class Solution {public static void main(String[] args) {int[] nums = {2,7,8,9,10};int target = 9;System.out.println(new Solution().searchInsert(nums, target));}public int searchInsert(int[] nums, int target) {//二分查找int l = 0, r = nums.length - 1;while (l < r) {int mid = r - (r - l) / 2;if(nums[mid] < target) l = mid + 1;else if(nums[mid] > target) r = mid - 1;else return mid;}//判断是否越界和找到,如果没找到就返回l的后一个位置l+1代表新数会被插入的下标,否则返回lif(l < nums.length && nums[l] < target) return l + 1;else return l;}
}


http://www.ppmy.cn/devtools/146526.html

相关文章

数据分析(一)

目录 一、环境搭建 1&#xff1a;安装Pandas&jupyter 2&#xff1a;在Pycharm中使用anaconda环境 3&#xff1a;jupyter的快捷键 二、Numpy 1&#xff1a;N-dimensional array 1.1 数组 - [array] 1.2 维度 - [dimension] 1.3 N 1.4 限制 - [restrictions] 2&am…

【Rabbitmq篇】高级特性----事务,消息分发

目录 事务 消息分发? 应用场景 ?1. 限流 2.负载均衡? 事务 RabbitMQ是基于AMQP协议实现的,该协议实现了事务机制,因此RabbitMQ也支持事务机制.SpringAMQP也提供了对事务相关的操作.RabbitMQ事务允许开发者确保消息的发送和接收是原子性的,要么全部成功,要么全部失败. …

什么是Spring Boot 应用开发?

一、引言 在当今的软件开发领域&#xff0c;Java 依然占据着重要的地位&#xff0c;而 Spring Boot 作为 Java 生态系统中极具影响力的框架&#xff0c;极大地简化了企业级应用的开发流程&#xff0c;提升了开发效率和应用的可维护性。它基于 Spring 框架构建&#xff0c;通过约…

使用内网穿透工具,为树莓派配置公网地址实现远程ssh

前言 在我们使用树莓派时&#xff0c;我们常使用ssh连接&#xff0c;但是每次连接都需要在局域网中才能连接&#xff0c;这并不是很方便。本文将介绍使用内网穿透工具&#xff0c;实现远程ssh; 开启树莓派ssh服务 具体可见专栏中的文章:https://blog.csdn.net/qq_64047342/ar…

bash shell的条件语句

&#xff5e; script% touch if.sh &#xff5e; script% chmod 755 if.sh1.if-then-fi #!/usr/bin/env bashFOOD$1 if [ $FOOD"apple" ] thenecho The food is $FOOD fi exit 0~ script % ./if.sh apple The food is apple如果要将多条语句写在一行&#xff0c;可以…

【PostgreSQL】入门篇——在不同操作系统上安装 PostgreSQL

PostgreSQL在 Windows、macOS 和 Linux&#xff08;以 Ubuntu 为例&#xff09;的安装步骤&#xff0c;以及可能出现的问题和解决办法。 一、在 Windows 上安装 PostgreSQL 1. 下载 PostgreSQL 安装程序 访问 PostgreSQL 官方网站&#xff1a;PostgreSQL Downloads点击“Dow…

在C语言基础上的C++第二章(类和对象)

1&#xff1a;面向对象的程序设计 我们学习过的C语言是一种面向过程的程序设计。思想是把问题分割成一个个函数&#xff0c;然后用主函数把它们串联起来。 而C是面向对象的程序设计。面向对象的程序设计&#xff08;Object - Oriented Programming&#xff0c;简称 OOP&#…

Llama 3 后训练(三)

目录 4. 后训练 4.1 建模 图表解读 4.1.1 聊天对话格式 4.1.2 奖励建模 4.1.3 监督微调&#xff08;Supervised Finetuning&#xff09; 4.1.4 直接偏好优化&#xff08;Direct Preference Optimization&#xff09; 4.1.5 模型平均&#xff08;Model Averaging&#x…