尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
Kimi    LeetCode LCP 15. 游乐园的迷宫 Python3实现
LCP 15. 游乐园的迷宫 — Python3 实现题目理解平面上有 N 个点需要找到一条访问所有 N 个点的路径使得路径在每个顶点的转角方向满足给定的 direction 字符串L 表示左转R 表示右转。不存在三点共线的情况。核心思路贪心 向量叉积官方题解的贪心策略是每一步选择最极端的点使得剩余所有未访问的点都位于转向要求的那一侧。这样可以保证后续始终有解。具体实现1. 起点选择选横坐标最小的点作为起点保证初始方向可控2. 叉积判断方向对于向量 a→b 和 a→c叉积 cross (b-a) × (c-a)- cross 0c 在 a→b 的左侧逆时针- cross 0c 在 a→b 的右侧顺时针3. 贪心选点- 若 direction[i] L下一步要左转则当前选择最右侧的点叉积最大即其他点都在该点左侧- 若 direction[i] R下一步要右转则当前选择最左侧的点叉积最小即其他点都在该点右侧Python3 代码pythonfrom typing import Listclass Solution:def visitOrder(self, points: List[List[int]], direction: str) - List[int]:n len(points)visited [False] * nans []# 辅助函数计算向量 a-bdef vec(a, b):return [b[0] - a[0], b[1] - a[1]]# 辅助函数计算向量叉积 (a x b)def cross(a, b):return a[0] * b[1] - a[1] * b[0]# 1. 选择横坐标最小的点作为起点保证凸包性质start 0for i in range(n):if points[i][0] points[start][0]:start ians.append(start)visited[start] True# 2. 根据 direction 贪心选择下一个点for d in direction:nxt -1if d L:# 下一步要左转当前选最右侧的点叉积最大for j in range(n):if not visited[j]:if nxt -1 or cross(vec(points[start], points[j]),vec(points[start], points[nxt])) 0:nxt jelse: # d R# 下一步要右转当前选最左侧的点叉积最小for j in range(n):if not visited[j]:if nxt -1 or cross(vec(points[start], points[j]),vec(points[start], points[nxt])) 0:nxt jans.append(nxt)visited[nxt] Truestart nxt# 3. 最后一个未访问的点加入答案for i in range(n):if not visited[i]:ans.append(i)return ans复杂度分析- 时间复杂度O(N^2)每次选择下一个点需要遍历所有未访问点- 空间复杂度O(N)用于访问标记数组和答案数组关键说明- 叉积的符号决定了相对位置cross(vec(start, j), vec(start, nxt)) 0 表示 j 在 start→nxt 的左侧即 nxt 相对更靠右- 由于不存在三点共线叉积不会为 0无需处理共线情况- 起点选最左侧点是为了确保初始步可以构造出满足条件的凸包边界
RELATED

相关推荐

从状态机到动态密码:揭秘“知道密码也打不开”的逻辑锁原理与Python实现

从状态机到动态密码:揭秘“知道密码也打不开”的逻辑锁原理与Python实现

最近在逛技术社区时,看到一个挺有意思的讨论:一个号称“老外设计的密码锁”,其核心逻辑是“即使你知道密码,也打不开”。这立刻引起了我的好奇心。作为一名开发者,我本能地想到,这背后可能不是简单的机械结…

📅 2026/11/11 20:40:08
模糊综合评价:从模糊数学到精准决策的实战指南

模糊综合评价:从模糊数学到精准决策的实战指南

1. 项目概述:当“模糊”成为精准决策的利器 在项目评估、人才选拔、产品满意度调研这些场景里,我们常常会遇到一个头疼的问题:评价标准本身就不清晰。比如,评价一个员工的“工作态度”,什么叫“好”?什么叫…

📅 2026/10/31 14:33:12
中国终于有人,重新定义了「技术创新」的评判标准|一套从东方哲学落地的硬核产业坐标系

中国终于有人,重新定义了「技术创新」的评判标准|一套从东方哲学落地的硬核产业坐标系

先抛出一个扎心的行业真相:中国科技产业最大的问题,从来不是 “不会创新”,而是 —— 没有统一的测量标准。谁是真创新?谁是伪创新? 谁是底层技术深耕?谁是靠专利数量泡沫堆出来的虚假繁荣? 谁在…

📅 2026/10/31 15:13:49
MORE NEWS

更多资讯

📰

平谷电工证报名时间官方报名入口怎么找

平谷电工证报名时间官方报名入口怎么找 之前考的证在外省能不能转过来?这个问题其实很多人都遇到过。特别是在平谷地区,不少电工证是在外省考的,现在想要在本地继续执业,就需要了解如何将这些证书转过来,而这一切都离不开 官方报名入口 的正确使用。…

📰

中级电工证多久能下来通过率揭秘

中级电工证多久能下来通过率揭秘 不知道去哪报名怕被中介坑?别急,今天从焦作培训机构学员的真实经历出发,带你搞懂中级电工证多久能下来,考试内容、通过率和备考避坑攻略一网打尽。 一、中级电工证多久能下来,全流程揭秘…

📰

玉环电工证复审必看!考前押题怎么用,别再交冤枉钱

玉环电工证复审必看!考前押题怎么用,别再交冤枉钱 怕考不过白交培训费?别急,先听我说完。玉环电工证复审的流程看似简单,但一不小心就踩坑,尤其是考前押题没掌握好,培训费打水漂的事太多了。这篇文章就帮你理清步骤、避坑指南和最新政策,确保你一次性…

📰

电工证线上报名流程千万别踩坑 证书过期了不知道怎么复审延期

电工证线上报名流程千万别踩坑 证书过期了不知道怎么复审延期 证书过期了不知道怎么复审延期?你不是一个人。很多像你一样的漯河市政公用工程从业者,因为工作忙、信息闭塞,导致电工证过期或被遗忘,耽误了项目进度和职业发展。 千万别踩坑…

📰

乌海高压电工证有效期多久 2026河南最新政策怎么应对

乌海高压电工证有效期多久 2026河南最新政策怎么应对 之前考的证在外省能不能转过来?这个问题困扰了不少特种作业从业者,特别是像你这样在乌海工作、但证书在别处考下来的朋友。2026河南最新政策明确指出, 特种作业操作证全国通用…

📰

工地太忙根本没时间复习考试?普洱市电工证怎么报名全攻略

工地太忙根本没时间复习考试?普洱市电工证怎么报名全攻略 工地太忙根本没时间复习考试?你不是一个人在战斗。很多人在普洱市做电工,白天跑工地、晚上赶工期,根本抽不出时间准备电工证考试。但别以为电工证不重要,它是你从业资格的“敲门砖”,也是薪资待…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬