Kimi LeetCode 3464. 正方形上的点之间的最大距离 Python3实现
📅 2026/7/5 14:01:39
👁️ 次浏览
LeetCode 3464. 正方形上的点之间的最大距离 — Python3 实现题目概述给定正方形边长 side以及位于正方形边界上的若干点。需要从中选出 k 个点使得任意两点之间的最小曼哈顿距离最大化。- 曼哈顿距离|x1 - x2| |y1 - y2|- 关键约束k 25points.length 15000核心思路这是一个经典的 最大化最小值 问题标准解法是二分答案 可行性检验。关键观察1. 答案上界为 side因为 k 4至少有两个点在同一条边上或相邻边上而同一/相邻边上的点距离最大为 side当 k4 时选四个角最小距离恰好为 side。2. 展开为正方形周长将正方形边界展开为一维环形数组周长 4 * side按顺时针顺序排列所有点。这样相邻点之间的距离可以用曼哈顿距离表示。展开映射规则- 左边 x0d y- 上边 ysided side x- 右边 xsided 3 * side - y- 下边 y0d 4 * side - x3. 可行性检验对于候选距离 limit检查是否能选出 k 个点使得相邻点包括首尾环绕的曼哈顿距离都 limit。由于 k 25可以枚举每个点作为起点贪心选择下一个满足距离要求的点。Python3 实现pythonimport bisectfrom typing import Listclass Solution:def maxDistance(self, side: int, points: List[List[int]], k: int) - int:二分答案 贪心可行性检验将正方形边界展开为一维环形数组n len(points)positions []# 将边界点展开为一维坐标顺时针方向for x, y in points:if x 0:# 左边从 (0,0) 向上到 (0, side)d yelif y side:# 上边从 (0, side) 向右到 (side, side)d side xelif x side:# 右边从 (side, side) 向下到 (side, 0)d 3 * side - yelse:# 下边从 (side, 0) 向左到 (0, 0)d 4 * side - xpositions.append(d)positions.sort()perimeter 4 * sidedef can_pick(limit: int) - bool:检查是否能选出 k 个点相邻点距离 limit包括首尾环绕# 枚举每个点作为起点for start_idx in range(n):start positions[start_idx]# 最后一个点不能超过 start perimeter - limit保证首尾环绕距离 limitlast_allowed start perimeter - limitcurrent startpicked 1for _ in range(k - 1):# 找下一个 current limit 的点next_idx bisect.bisect_left(positions, current limit)# 如果超出数组范围或者超出 last_allowed则失败if next_idx n or positions[next_idx] last_allowed:breakcurrent positions[next_idx]picked 1else:# 成功选了 k 个点return Truereturn False# 二分搜索答案 [1, side]left, right 1, sideans 0while left right:mid (left right) // 2if can_pick(mid):ans midleft mid 1else:right mid - 1return ans复杂度分析- 时间复杂度O(n log n n * k * log n * log side)- 排序O(n log n)- 二分答案O(log side) 次- 每次检验枚举 n 个起点每个起点贪心选 k 个点每次用二分查找 O(log n)- 由于 k 25实际运行很快- 空间复杂度O(n)示例验证输入 输出 说明side2, points[[0,2],[2,0],[2,2],[0,0]], k4 2 四个角最小距离为 2side2, points[[0,0],[1,2],[2,0],[2,2],[2,1]], k4 1 选 (0,0), (2,0), (2,2), (2,1)side2, points[[0,0],[0,1],[0,2],[1,2],[2,0],[2,2],[2,1]], k5 1 选 (0,0), (0,1), (0,2), (1,2), (2,2)注意事项上述实现基于 展开贪心 的经典方法。但需要注意在展开为一维坐标后相邻边的点之间的曼哈顿距离与一维距离的关系需要仔细处理。对于 limit side 的情况展开方法能正确工作因为- 同一边上的点一维距离 曼哈顿距离- 相邻边上的点一维距离 曼哈顿距离- 对边上的点曼哈顿距离 side limit不会成为瓶颈如果追求更严谨的实现可以参考使用 双端队列 DP 的方法如搜索结果中的 Sequence 类实现它直接在二维坐标上用滑动窗口维护最长合法子序列。
图表可访问性实战指南:为什么 a11y 是全球数据可视化最被低估的能力一张图表,如果盲人用户无法读取、键盘用户无法操作、色盲用户无法区分——它算"完成"了吗?在 2025 年后的合规环境下,答案可能直接决定你的产品能否上…
📅 2026/7/5 14:01:39
北大的盛夏,蝉鸣聒噪,阳光炙烤着大地,连未名湖的碧波都仿佛带着几分慵懒的倦意。然而,在悦儿那间本该清凉静谧的办公室里,却弥漫着一种比酷暑更令人窒息的沉闷。空气中仿佛充满了无形的压力,将她紧紧包裹&a…
📅 2026/7/5 14:01:39
一、实验目的本实验基于实验7-1和实验7-2输出的数据表,使用助睿BI完成多维度可视化探索。实验重点是通过指标卡、排名图、标题影响分析图和趋势图,对自媒体作品运营效果进行展示与解释,并最终形成综合仪表盘。本实验使用三张数据表构建数据集…
📅 2026/7/5 14:01:39
1. 项目背景与核心价值在现代嵌入式系统设计中,IO扩展是工程师们经常面临的挑战。传统方案要么需要占用大量微控制器引脚,要么需要复杂的通信协议实现。MC74HC165A这款8位并行输入/串行输出移位寄存器的出现,配合PIC18F27K42这类高性能微控制…
📅 2026/7/5 23:29:14
1. 项目概述:这不是一场“谁更好”的辩论,而是一次架构级的认知校准“Why BERT is Not GPT”这个标题,乍看像一句技术圈的冷笑话,实则直指过去五年自然语言处理领域最常被混淆、最易被误用、也最容易在工程落地时踩坑的核心概念。…
📅 2026/7/5 23:29:14
OBS RTSP服务器插件架构深度解析:实现专业直播流分发 【免费下载链接】obs-rtspserver RTSP server plugin for obs-studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-rtspserver
OBS RTSP服务器插件是一个为OBS Studio设计的开源扩展,它…
📅 2026/7/5 23:29:14
1. 项目概述:一次对泛微OA E-Cology ResourceServlet接口的深度安全审计 最近在梳理一些企业级应用的历史漏洞时,泛微OA E-Cology的ResourceServlet接口任意文件读取漏洞(网上常提到的CVE-2026-27654)引起了我的注意。这个漏洞虽然…
📅 2026/7/5 23:29:14
1. 项目概述在计算机视觉领域,Transformer架构近年来展现出强大的特征捕捉能力,但在复杂光照条件下的表现仍有提升空间。CVPR 2026这篇论文提出的MCA(Multi-scale Context Aggregation)模块,通过引入光照先验引导的多尺…
📅 2026/7/5 23:29:14
1. SEW MDV60A0040-5A3-4-00伺服驱动器产品概述 SEW MDV60A0040-5A3-4-00是SEW MOVIDRIVE 60系列中的一款紧凑型伺服控制单元,专为4kW级别的工业设备设计。这款驱动器在自动化生产线、机床设备、包装机械和物流输送系统中有着广泛应用,特别适合对动态性能…
📅 2026/7/5 23:27:14
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/5 0:01:51
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/5 0:01:51
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/5 0:01:51
1. 项目背景与核心需求 在嵌入式系统开发中,快速精确的数据检索是一个常见但极具挑战性的需求。特别是在工业控制、医疗设备和物联网终端等场景下,系统往往需要在毫秒级时间内完成关键参数的读取和写入操作。传统基于Flash存储的方案存在擦写次数有限、操…
📅 2026/7/5 0:01:51
1. 工业电流环信号传输的基础认知在工业自动化领域,4-20mA电流环传输技术已经持续服役超过半个世纪。这种看似简单的信号传输方式之所以能经久不衰,核心在于其独特的抗干扰能力——电流信号在长距离传输时几乎不受线路电阻和电压波动的影响。我曾在化工厂…
📅 2026/7/5 0:01:51
最近在项目里尝试用 YOLO 做目标检测,从环境搭建到模型训练,再到推理部署,整个过程踩了不少坑。网上的资料虽然多,但要么版本老旧,要么步骤零散不成体系,对于刚入门的新手来说,很容易卡在某个环…
📅 2026/7/5 0:01:51
目录
第一步:选对模板,省心一半
第二步:打开扫码点餐功能
开启功能按钮
桌台管理与桌码生成
第三步:个性化设计,打造品牌感
调整点餐页面
设置点餐规则 你还在让顾客站着排队点餐吗?2025年ÿ…
📅 2026/7/5 6:01:04
在业务中快速构建一个能理解私有文档、准确回答专业问题的智能助手,是很多开发团队面临的共同挑战。传统方案往往需要从零开始搭建复杂的 RAG(检索增强生成)系统,涉及文档解析、向量化、检索、大模型调用等多个环节,整…
📅 2026/7/5 6:01:04
FAE放射组学分析工具:医学影像特征探索的完整解决方案 【免费下载链接】FAE FeAture Explorer 项目地址: https://gitcode.com/gh_mirrors/fae/FAE
你是否曾经面对海量医学影像数据感到无从下手?想要从CT、MRI等影像中提取有价值的定量特征&#…
📅 2026/7/4 17:36:47