二分查找-确定目标值在线性表的哪两个元素之间

ops/2025/2/15 21:31:37/

在做Leetcode74 搜索二维矩阵时,我的算法对二分查找有一个进阶要求。

二分查找的板子是直接找该元素在不在线性表内。

如果我希望在进行二分查找的时候,即使该元素不在线性表内,我想找到它介于哪两个元素之间,怎么写。

class Solution {
public:bool searchMatrix(vector<int>& v, int target) {int left = 0,right = matrix.size()-1;int near_left = left,near_right = right;while(left <= right){int mid = left + (right - left) / 2;if (target < v[mid]) {near_right = mid;right = mid - 1;}else if (target > v[mid]){near_left = mid;left = mid + 1;}else return 1;    // 已找到}cout<< "左紧邻下标:" << near_left << endl;cout<< "右紧邻下标:" << near_right << endl;return 0;    // 未找到}
};


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

相关文章

使用电路仿真软件教学的优势分析

随着科技的飞速发展&#xff0c;电子工程领域对人才的需求与日俱增。为了满足这一需求&#xff0c;教育者们不断探索着更加高效、直观的教学方法。电路仿真软件的出现&#xff0c;为电子工程教学注入了新的活力&#xff0c;它以其独特的优势&#xff0c;成为现代电子工程教育中…

[开发|JAVA] 如何在测试代码中指定语言环境

示例代码 import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test;class CatalogTest {private Validator validator;BeforeEachvoid setUp() {// 设置测试所需的特定Locale&#xff0c;比如简体中文Locale.setDefault(Locale.SIMPLIFIED_CHINESE);// 初…

《Linux运维总结:ARM64架构CPU基于docker-compose一离线部署rabbitmq 3.10.25容器版镜像模式集群工具》

总结&#xff1a;整理不易&#xff0c;如果对你有帮助&#xff0c;可否点赞关注一下&#xff1f; 更多详细内容请参考&#xff1a;《Linux运维篇&#xff1a;Linux系统运维指南》 一、部署背景 由于业务系统的特殊性&#xff0c;我们需要面向不通的客户安装我们的业务系统&…

华为认证HCIE考试过程的小细节|备考注意事项

大家好&#xff0c;我是来自武汉软件工程职业学院计算机网络专业的李同学&#xff0c;我在2024年1月3日通过了华为Datacom-HCIE认证&#xff0c;在此把我的一些考证心得分享给正在备考的同学们。 感谢讯方的老师们 我能通过HCIE考试&#xff0c;离不开各位讯方老师的教导。感…

后端常用技能:解决java项目前后端传输数据中文出现乱码、问号问题

0. 问题背景 最近做一个解析数据的小工具&#xff0c;本地运行时都正常&#xff0c;发布到服务器上后在导出文件数据时发现中文全部变成了问号&#xff0c;特此记录下问题解决的思路和过程 1. 环境 java 1.8 springboot 2.6.13 额外引入了fastjson&#xff0c;commons-csv等…

【Linux】CAN相关命令:ip、ifconfig、can-utils

1、配置CAN波特率 ip link set can0 type can bitrate 500002、启动CAN设备 ip link set can0 up 或者 ifconfig can0 up3、显示CAN设备信息 ip -d -s link show can0ip -d -s link show can0 2: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc fq_codel state UNKNOWN…

Python 中使用私有成员的子类化

1、问题背景 Python 语言中&#xff0c;变量名与访问器同名是一个非常好的特性&#xff1a; self.__value 1def value():return self.__value但是&#xff0c;当我们想要子类化一个类&#xff0c;并访问其私有成员时&#xff0c;却没有一种简单的方法。通常&#xff0c;我们…

【JAVA进阶篇教学】第十篇:Java中线程安全、锁讲解

博主打算从0-1讲解下java进阶篇教学&#xff0c;今天教学第十篇&#xff1a;Java中线程安全、锁讲解。 当涉及到多线程编程时&#xff0c;保证线程安全是至关重要的。线程安全意味着在多个线程访问共享资源时&#xff0c;不会发生数据错乱或不一致的情况。为了实现线程安全&am…