Leecode热题100---二分查找---搜索插入位置

题目
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。
nums 为 无重复元素 的 升序 排列数组
在这里插入图片描述
常规思路:

class Solution {
public:int find(vector<int> &nums,int target){int n =nums.size()-1;if(target>nums[n]){return n+1;  }if (target < nums[0]){return 0;} int i;for(i=0;i<n;i++){if(target <= nums[i]){return i;}}return i;}int searchInsert(vector<int>& nums, int target) {return find(nums,target);}
};

二分查找:

// 闭区间写法
class Solution
{// lower_bound 返回最小的满足 nums[i] >= target 的 i
public:int find(vector<int> &nums, int target){int left = 0, right = nums.size() - 1;	// 闭区间 [left, right]while (left <= right)					// 区间不为空{int mid = left + (right - left) / 2;if (nums[mid] < target){left = mid + 1;					// 范围缩小到 [mid+1, right]}elseright = mid - 1;				// 范围缩小到 [left, mid-1]}return left;							// 或者 right+1}int searchInsert(vector<int>& nums, int target){return find(nums, target);}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17902.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

管理node——NVM安装及使用

NVM安装及使用 前言正文下载安装及配置一、卸载原有的node版本&#xff08;很重要&#xff01;&#xff01;&#xff01;&#xff09;- 卸载node- 清除npm相关文件 二、安装nvm&#xff0c;添加镜像1.nvm自定义安装位置2.nodejs版本存放位置- 未解决&#xff0c;无限踩坑- 已解…

crossover玩游戏缺少文件怎么办 为什么游戏打开说缺失文件 crossover支持的游戏列表 CrossOver 提示 X 11 缺失怎么办?

CrossOver是一款类虚拟机软件&#xff0c;可以实现在Mac电脑上运行exe程序。不少Mac用户为了玩游戏&#xff0c;选择使用CrossOver这款软件玩Windows平台的游戏。 一、CrossOver支持的软件多吗 CrossOver是一款基于Wine的兼容工具&#xff0c;它可以让你在Mac或Linux上运行许多…

大数据开发面试题【Flink篇】

148、flink架构 flink是一个框架和分布式处理引擎&#xff0c;用于对无界和有界数据流进行有状态计算 特点&#xff1a; 高吞吐和低延迟&#xff1a;每秒数百万个事件&#xff0c;毫秒级延迟 结果的准确性&#xff1a;提供了事件时间和处理时间语义&#xff0c;提供结果的一致…

解读makefile中的.PHONY

在 Makefile 中&#xff0c;.PHONY 是一个特殊的目标&#xff0c;用于声明伪目标&#xff08;phony target&#xff09;。伪目标是指并不代表实际构建结果的目标&#xff0c;而是用来触发特定动作或命令的标识。通常情况下&#xff0c;.PHONY 会被用来声明一组需要执行的动作&a…

某有赞滑块验证码

⚠️前言⚠️ 本文仅用于学术交流。 学习探讨逆向知识&#xff0c;欢迎私信共享学习心得。 如有侵权&#xff0c;联系博主删除。 请勿商用&#xff0c;否则后果自负。 网址 aHR0cHM6Ly9wYXNzcG9ydC55b3V6YW4uY29tL2xvZ2luL3Bhc3N3b3Jk 1. 首先来分析一下参数 1_1. get-beh…

@ConfigurationProperties结合Nacos配置动态刷新之底层原理分析

Hello&#xff0c;我是大都督周瑜&#xff0c;本文给大家分析一下ConfigurationProperties结合Nacos配置动态刷新的底层原理&#xff0c;记得点赞、关注、分享哦&#xff01; 公众号&#xff1a;IT周瑜 应用背景 假如在Nacos中有Data ID为common.yml的配置项&#xff1a; m…

上海一儿童写真馆摄影师大量售卖女童照片!当你的肖像权或隐私权被侵犯时应如何写起诉状?

上海一儿童写真馆摄影师大量售卖女童照片&#xff01;当你的肖像权或隐私权被侵犯时应如何写起诉状&#xff1f; 近日&#xff0c;上海市一儿童写真馆摄影师被指大量售卖女童的照片和特写花絮。对此&#xff0c; 上海市公安局徐汇分局发布了警情通报&#xff08;见下图&#x…

VLDB ’25 最后 6 天截稿,58 个顶会信息纵览;ISPRS 城市分割数据集上线

「顶会」板块上线 hyper.ai 官网啦&#xff01;该板块为大家提供最新最全的 CCF A 类计算机顶会信息&#xff0c;包含会议简介、截稿倒计时、投稿链接等。 你是不是已经注册了顶会&#xff0c;但对截稿时间较为模糊&#xff0c;老是在临近 ddl 时才匆忙提交&#xff1b;又或者…

K8s 部署prometheus

文章目录 K8s 部署prometheuskube-prometheus 部署部署流程安装卸载补充 K8s 部署prometheus kube-prometheus 部署 kube-prometheus 是 github 上开源的整合了 prometheus alertmanager granfana 等监控工具的项目&#xff0c;github地址 如果github 访问不了的也可以选择 g…

day20二叉树part06| 654.最大二叉树 617.合并二叉树 700.二叉搜索树中的搜索 98.验证二叉搜索树

**654.最大二叉树 ** 构造树一般采用的是前序遍历&#xff0c;因为先构造中间节点&#xff0c;然后递归构造左子树和右子树。 这题在找最大值和最大值下标的时候用了两个库函数 class Solution { public:TreeNode* constructMaximumBinaryTree(vector<int>& nums)…

Dropzone 4 for Mac:一拖即达,文件处理更高效!

在繁忙的工作中&#xff0c;你是否曾因频繁切换应用程序和文件夹而烦恼&#xff1f;Dropzone 4 for Mac&#xff0c;这款强大的文件拖拽操作工具&#xff0c;将彻底改变你的工作方式&#xff01; 只需简单地将文件、文本或图片拖放到Dropzone图标上&#xff0c;即可快速执行各种…

独孤思维:你做副业一定比我牛比

01 做副业&#xff0c;尤其是做ip&#xff0c;千万不要害羞。 要有不要脸的精神。 时时刻刻&#xff0c;都要想着如何展示自己&#xff0c;曝光自己。 不停地在各个平台上去输出内容&#xff0c;不停地直播&#xff0c;不停地发短视频。 就像独孤一直发文章&#xff0c;一…

6. CSS动画技巧

在前端开发中&#xff0c;动画可以极大地提升用户体验&#xff0c;使网页更加生动和互动。本章将探讨CSS3中高级动画技巧&#xff0c;包括复杂动画的实现、动画的延迟与序列控制、多步骤动画与状态切换以及动画性能优化。 6.1 复杂动画的实现 复杂动画通常涉及多个属性的变化…

Java NIO.2(New I/O) API的关键类和功能[简单示例]

Java NIO.2&#xff08;New I/O&#xff09;是Java SE 7引入的一组用于处理I/O操作的新API。它在Java标准库中提供了更灵活、高效的文件和文件系统操作方式&#xff0c;相对于传统的Java I/O&#xff08;java.io&#xff09;包&#xff0c;Java NIO.2提供了更多的功能和更好的性…

mysql实战——Mysql8.0高可用之双主+keepalived

一、介绍 利用keepalived实现Mysql数据库的高可用&#xff0c;KeepalivedMysql双主来实现MYSQL-HA&#xff0c;两台Mysql数据库的数据保持完全一致&#xff0c;实现方法是两台Mysql互为主从关系&#xff0c;通过keepalived配置VIP&#xff0c;实现当其中的一台Mysql数据库宕机…

NB55 牛的生长情况

描述 在一个牧场中&#xff0c;有n头牛&#xff0c;每头牛的体重都在增长。给定一个整数数组weights&#xff0c;表示每天的牛的平均体重&#xff0c;返回一个数组growth&#xff0c;其中growth[i]是指对于第i天&#xff0c;下一个平均体重更高的是在几天后。如果在这之后平均…

AI大模型的推理显存占用分析

了解Transformer架构的AI大模型显存占用是非常重要的&#xff0c;特别是在训练和推理过程中。以下是详细解释和分析这些组成部分及其影响的专业描述&#xff1a; 1 显存占用 1.1 模型本身参数 模型的参数包括所有的权重和偏置项&#xff0c;这些参数需要存储在显存中&#x…

四川景源畅信:新人做抖店的成本很高吗?

随着社交媒体的兴起&#xff0c;抖音成为了一个新兴的电商平台——抖店。不少创业者和商家看中了其庞大的用户基础&#xff0c;想要通过开设抖店来拓展销路。然而&#xff0c;对于刚入行的新手来说&#xff0c;成本问题总是让人犹豫不决。究竟新人做抖店的成本高不高?本文将围…

ML307R OpenCPU TCP使用

一、TCP通信流程 二、示例 三、TCP通信代码 一、TCP通信流程 ML307R TCP 是使用LWIP的标准的socket通信,具体TCP流程可以自行百度 二、示例 实验目的:实现把接收的数据再发送到服务端 测试网址:TCP电脑端测试网址 因为是4G,所以必须用外网的 /* 测试前请先补充如下…

Flutter 中的 CupertinoDatePicker 小部件:全面指南

Flutter 中的 CupertinoDatePicker 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;CupertinoDatePicker 是 Cupertino 组件库的一部分&#xff0c;它提供了一个 iOS 风格的日期选择器。这个选择器允许用户选择日期和时间&#xff0c;非常适合需要符合 iOS 设计指南的应…