Leetcode704_二分查找

ops/2024/10/19 2:23:17/

代码:

class Solution {
public:int search(vector<int>& nums, int target) { // 默认升序数组int left = 0, right = nums.size() - 1 ;while(left <= right){int mid = (right + left) / 2 ;int num = nums[mid];if (num == target) {return mid;} else if (num > target) {right = mid - 1;} else {left = mid + 1;}}return -1;}
};

分析:

题目前提是数组有序,默认递增。

(1)以左闭右闭区间实现:

[1, 1]是合法的,因此while循环判断语句为left <= right;

(2)以左闭右开区间实现:

[1, 1)是不合法的,不应当出现这样的区间,因此while循环判断语句应改为left < right。


http://www.ppmy.cn/ops/44253.html

相关文章

【Go】十、路由配置以及ZAP 高性能日志库的使用

Project 目录创建 mxshop-api user-web api ---- 服务接口 config ---- 配置信息 forms ---- 表单验证信息 global ---- 全局信息 initialize ---- 初始化信息 middlewares ---- 中间件信息 proto ---- 数据信息 router ---- 路由信息 utils ---- 公用工具信息 validator ----…

中科大6系+先研院+中南大学电子信息学院2023年保研经历

中科大6系 英语口语问题&#xff1a; What’s your research plan&#xff1f;Please introduce your project. 专业课问题&#xff1a; BPSK和QPSK每个字母代表的含义&#xff1f;QAM的星座图是什么样的&#xff1f;根据什么准则画成那个样子&#xff1f; 中科大先研院 …

鸿蒙高级题库

判断题 1、云函数打包完成后&#xff0c;需要到AppGallery Connect创建对应函数的触发器才可以在端侧中调用 &#xff08;错&#xff09; 2、在column和Row容器组件中&#xff0c;aligntems用于设置子组件在主轴方向上的对齐格式&#xff0c;justifycontent用于设置子组件在交…

Linux--构建进程池

目录 1.进程池 1.1.我们先完成第一步&#xff0c;创建子进程和信道 1.2. 通过channel控制&#xff0c;发送任务 1.3回收管道和子进程 1.4进行测试 1.5完整代码 1.进程池 进程池其产生原因主要是为了优化大量任务需要多进程完成时频繁创建和删除进程所带来的资源消耗&#…

mac下载安装好软件后提示已损坏

mac下载安装好软件后提示已损坏 解决方法&#xff1a; 首先确保系统安全设置已经改为任何来源。 打开任何来源后&#xff0c;到应用程序目录中尝试运行软件&#xff0c;如果仍提示损坏&#xff0c;请在应用图标上&#xff0c;鼠标右键&#xff0c;在弹出菜单中点打开。 如果…

XS2185一款八通道以太网供电控制器

XS2185是一款八通道以太网供电控制器。 XS2185通过侦测各通道的DET管脚输入电压 来判断是否有合格的负载/PD接入系统&#xff0c;以决定 是否开启MOS供电开关。 当通道已经处于供电状态时&#xff0c;XS2185通过侦 测SENSE管脚的输入电压&#xff0c;以判断供电是否发生 …

【平渊随笔】我们为什么要复盘?吸取教训,予其惩,而毖后患!

《平渊》 肆 "予其惩&#xff0c;而毖后患" "复盘" 一词源于围棋术语&#xff0c;对弈者完成一局棋后&#xff0c;重新摆局&#xff0c;审视棋局中的优势与失误&#xff0c;看哪些地方下得好&#xff0c;哪些地方下得不好&#xff0c;有没有更优解&#xf…

Qt第八章绘图

第八章绘图 文章目录 第八章绘图基本绘制和填充绘制图形使用画笔QPen使用画刷QBrush样式&#xff0c;颜色&#xff0c;纹理填充渐变填充 坐标变换绘图函数QImage是为I/O和直接像素访问和操作而设计优化的QPixmap是为在屏幕上显示图像而设计优化的QBitmap只是一个继承了QPixmap的…