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
相关推荐
大明者省几秒前
Ubuntu Python 部署终极版教程
开发语言·python·ubuntu
KANGBboy7 分钟前
java知识二(数组)
java·开发语言·python
Cloud_Shy6189 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第一章 Item 4 - 6)
android·数据库·论文阅读·python
llilay14 分钟前
企业级FastAPI后端模板搭建(二)整合路由Router
开发语言·python·fastapi
x_xbx16 分钟前
LeetCode:543. 二叉树的直径
算法·leetcode·职场和发展
scan72417 分钟前
根据上下文中的用户信息,切换提示词
python
我材不敲代码21 分钟前
Python基础: 函数超全详解:定义、参数、返回值、作用域与递归
开发语言·python·算法
志起计算机编程22 分钟前
挖掘单节点Clickhouse极致性能上限
服务器·开发语言·python
程序员杰哥24 分钟前
接口自动化测试:多环境配置实战
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
zh路西法26 分钟前
【OpenCV无人机光流速度估计】基于Farneback稠密光流方法的无人机速度估计
人工智能·python·opencv·计算机视觉·无人机