力扣3464. 正方形上的点之间的最大距离

news/2025/2/25 14:38:50/

力扣3464. 正方形上的点之间的最大距离

题目

在这里插入图片描述

题目解析及思路

题目要求在points集合中找出k个点,k个点之间的最小的曼哈顿距离的最大值

最大最小值的题一般直接想到二分

将正方形往右展开成一条线,此时曼哈顿距离为两点直线距离**(仅起点右边的点)**

枚举起点二分答案,每次用二分找到>= st + mid的最近的点

代码

class Solution {
public:int maxDistance(int side, vector<vector<int>>& points, int k) {vector<long long> a;for(auto& p:points){int x = p[0],y = p[1];if (x == 0) {a.push_back(y);} else if (y == side) {a.push_back(side + x);} else if (x == side) {a.push_back(side * 3LL - y);} else {a.push_back(side * 4LL - x);}}ranges::sort(a);auto check = [&](int mid)->bool{//枚举起点for(long long st : a){//最右边的点的边界,当坐标超过边界时,该点与起点的距离已经<mid了,不满足条件long long end = side * 4LL + st - mid;long long cur = st;//找剩下k-1个点for(int i=0;i<k-1;i++){auto it = ranges::lower_bound(a,cur+mid);if(it == a.end() || *it > end){cur = -1;break;}cur = *it;}if(cur > 0){return true;}}return false;};int l = 1,r = side+1;while(l+1 < r){int mid = l + (r - l) / 2;if(check(mid)) l = mid;else r = mid;}return l;}
};

http://www.ppmy.cn/news/1574851.html

相关文章

趣解http和https各自的原理以及它们的区别

趣解http和https各自的原理以及它们的区别 &#x1f310; HTTP vs HTTPS&#xff1a;一场网络世界的“裸奔”与“加密通话”对决 &#x1f3ad; 角色设定 HTTP&#xff1a;耿直Boy&#xff0c;心无城府&#xff0c;喜欢用大喇叭喊话HTTPS&#xff1a;特工007&#xff0c;随身…

医疗AI领域中GPU集群训练的关键技术与实践经验探究(上)

医疗AI领域中GPU集群训练的关键技术与实践经验探究(上) 一、引言 1.1 研究背景与意义 在科技飞速发展的当下,医疗 AI 作为人工智能技术与医疗领域深度融合的产物,正引领着医疗行业的深刻变革。近年来,医疗 AI 在疾病诊断、药物研发、健康管理等诸多方面取得了显著进展,…

数据库的MVCC如何理解?

数据库的MVCC如何理解&#xff1f; MVCC&#xff08;多版本并发控制&#xff0c;Multi-Version Concurrency Control&#xff09;是数据库系统中的一种并发控制机制&#xff0c;用于允许多个事务在不互相干扰的情况下并行执行&#xff0c;同时保持数据的一致性和隔离性。 MVC…

system运行进程以及应用场景

使用 system 函数运行进程的场景通常是在程序中需要执行外部命令或脚本时。system 是 C/C 标准库中的一个函数&#xff0c;用于调用操作系统的命令行解释器&#xff08;如 /bin/sh 或 cmd.exe&#xff09;来执行指定的命令。以下是常见的使用场景&#xff1a; 1. 执行简单的系统…

Python爬虫-破解字体加密技术

前言 本文是该专栏的第77篇,后面会持续分享python爬虫干货知识,记得关注。 字体加密是一种常见的反爬虫技术,通过自定义字体文件和字符映射来保护网页内容,防止爬虫直接获取文本信息。 而本文,笔者将针对“如何解决目标平台的字体加密技术,并获取目标数据”,进行详细介…

初识.git文件泄露

.git 文件泄露 当在一个空目录执行 git init 时&#xff0c;Git 会创建一个 .git 目录。 这个目录包含所有的 Git 存储和操作的对象。 如果想备份或复制一个版本库&#xff0c;只需把这个目录拷贝至另一处就可以了 这是一种常见的安全漏洞&#xff0c;指的是网站的 .git 目录…

[Android]让APP进入后台后不被杀掉(保活)

在 Android 系统中&#xff0c;应用在进入后台后&#xff0c;系统可能会因为各种原因&#xff08;如内存不足、电池优化等&#xff09;对其进行强制退出。虽然无法完全保证应用永远不会被系统强制退出&#xff0c;但可以采取一些措施来减少这种情况的发生。以下是几种常见的方法…

005:Cesium.viewer 知识详解、示例代码

查看本专栏目录 - 本文是第 005个API内容详解 vue+cesium 示例教程200+目录 文章目录 一、Cesium.Viewer 知识详解1. 主要用途2. 构造函数与参数3. 常用属性(1)`viewer.scene`(2)`viewer.camera`(3)`viewer.entities`(4)`viewer.clock`4. 常用方法(1)`viewer.zoomTo(…