LeetCode题解(LCP15):游乐园的迷宫(Python)
发布日期:2021-06-29 20:16:02 浏览次数:2 分类:技术文章

本文共 1506 字,大约阅读时间需要 5 分钟。

题目:(困难)

标签:贪心算法、几何、数学

解法 时间复杂度 空间复杂度 执行用时
Ans 1 (Python) O ( N 2 ) O(N^2) O(N2) O ( N ) O(N) O(N) 1996ms (13.33%)
Ans 2 (Python)
Ans 3 (Python)

解法一:

def sub(a, b):    """求点a到点b的向量"""    return [b[0] - a[0], b[1] - a[1]]def cross(a, b):    """求向量a到向量b的向量叉积"""    return a[0] * b[1] - a[1] * b[0]class Solution:    def visitOrder(self, points: List[List[int]], direction: str) -> List[int]:        size = len(points)        visited = [False] * size        ans = []        # 将最左侧的点作为出发点        start = 0        for i in range(size):            if points[i][0] < points[start][0]:                start = i        ans.append(start)        visited[start] = True        for direct in direction:            next = -1            # 下一个转向方向为L,则当前这一步选择最右侧的点            if direct == "L":                for j in range(size):                    if not visited[j]:                        if next == -1 or cross(sub(points[start], points[j]), sub(points[start], points[next])) > 0:                            next = j            # 下一个转向方向为R,则当前这一步选择最左侧的点            if direct == "R":                for j in range(size):                    if not visited[j]:                        if next == -1 or cross(sub(points[start], points[j]), sub(points[start], points[next])) < 0:                            next = j            ans.append(next)            visited[next] = True            start = next        # 将最后一个点添加到结果中        for i in range(size):            if not visited[i]:                ans.append(i)        return ans

转载地址:https://dataartist.blog.csdn.net/article/details/112605953 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:LeetCode题解(0152):乘积最大子数组(Python)
下一篇:LeetCode题解(LCP14):切分数组(Python)

发表评论

最新留言

感谢大佬
[***.8.128.20]2024年04月04日 23时16分26秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

弘辽科技:新手前期如何开网店? 2019-04-30
弘辽科技:市值仅次京东、直追百度,这家韩国巨头什么来头? 2019-04-30
弘辽科技:现在怎么做淘宝赚钱?有什么办法或者方案用淘宝赚钱? 2019-04-30
弘辽科技:拼多多店铺星级多久更新一次?如何提升? 2019-04-30
弘辽科技:拼多多店铺星级有用吗?什么是星级? 2019-04-30
弘辽科技:拼多多客单价怎么算?如何提高? 2019-04-30
弘辽科技:拼多多商品详情图怎么做?有什么开店技巧? 2019-04-30
弘辽科技:618收官战报:直播电商强势入场,国潮成消费新趋势 2019-04-30
弘辽科技:宝妈适合做什么?适合宝妈的25个副业 2019-04-30
弘辽科技:老店新开没有自然流量怎么办? 2019-04-30
弘辽科技:拼多多小额收款多久到账?有些什么限制呢? 2019-04-30
弘辽科技:上班同时还能开什么店?上班做副业项目 2019-04-30
弘辽科技:徒有贵族身份,却连一分钱都没有。 2019-04-30
弘辽科技:零食市场内卷化 洽洽的功守道 2019-04-30
弘辽科技:什么行业适合夫妻店?适合夫妻开的店 2019-04-30
弘辽科技:淘宝保险保证金怎么开通?它和消保保证金有什么区别? 2019-04-30
弘辽科技:淘宝开店后怎么经营?步骤有哪些? 2019-04-30
弘辽科技:淘宝开店会有人主动联系吗?怎么才会有人买? 2019-04-30
从零开始搭建免费小程序商城 2019-04-30
如何快速创建个人网站 2019-04-30