Python | Leetcode Python题解之第335题路径交叉

题目:

题解:

python 复制代码
class Solution:
    def isSelfCrossing(self, distance: List[int]) -> bool:
        n = len(distance)

        # 处理第 1 种情况
        i = 0
        while i < n and (i < 2 or distance[i] > distance[i - 2]):
            i += 1

        if i == n:
            return False

        # 处理第 j 次移动的情况
        if ((i == 3 and distance[i] == distance[i - 2])
                or (i >= 4 and distance[i] >= distance[i - 2] - distance[i - 4])):
            distance[i - 1] -= distance[i - 3]
        i += 1

        # 处理第 2 种情况
        while i < n and distance[i] < distance[i - 2]:
            i += 1

        return i != n
相关推荐
qq_334563556 小时前
golang如何实现SSTable持久化_golang SSTable持久化实现要点
jvm·数据库·python
2301_777599376 小时前
Redis怎样应对大规模集群的重启风暴_分批次重启节点并等待集群状态恢复绿灯后再继续操作
jvm·数据库·python
qq_452396237 小时前
【工程实战】第十篇:性能监控集成 —— 自动化脚本的“副产品”:不仅仅是功能测试
python·功能测试·自动化
来自远方的老作者7 小时前
第10章 面向对象-10.4 继承
开发语言·python·继承·单继承·多继承·super函数
解救女汉子7 小时前
MySQL并发写入如何避免锁竞争_使用队列缓冲与批量插入优化
jvm·数据库·python
qq_342295827 小时前
HTML函数开发需要SSD吗_SSD对HTML函数开发效率影响【详解】
jvm·数据库·python
qq_432703667 小时前
Golang怎么用embed嵌入SQL文件_Golang如何将SQL迁移文件嵌入Go程序统一管理【技巧】
jvm·数据库·python
m0_640309307 小时前
如何将 sticky 元素精确定位到父容器的右上角
jvm·数据库·python
帅小伙―苏7 小时前
力扣42接雨水
前端·算法·leetcode
带娃的IT创业者7 小时前
深度解析 Claude Design:如何利用 Anthropic 最新设计范式构建 AI 原生应用
人工智能·python·llm·claude·应用开发·anthropic·ai原生应用