335.路径交叉

不会写 看的题解
给你一个整数数组 distance 。

从 X-Y 平面上的点 (0,0) 开始,先向北移动 distance[0] 米,然后向西移动 distance[1] 米,向南移动 distance[2] 米,向东移动 distance[3] 米,持续移动。也就是说,每次移动后你的方位会发生逆时针变化。

判断你所经过的路径是否相交。如果相交,返回 true ;否则,返回 false 。

思路和算法

根据归纳结果,我们发现所有可能的路径交叉的情况只有以下三类:

第 11 类,如上图所示,第 ii 次移动和第 i-3i−3 次移动(包含端点)交叉的情况,例如归纳中的 4-24−2、4-34−3、4-54−5 和 4-64−6。

这种路径交叉需满足以下条件:

第 i-1i−1 次移动距离小于等于第 i-3i−3 次移动距离。
第 ii 次移动距离大于等于第 i-2i−2 次移动距离。

第 22 类,如上图所示,第 55 次移动和第 11 次移动交叉(重叠)的情况,例如归纳中的 5-25−2 和 5-35−3。这类路径交叉的情况实际上是第 33 类路径交叉在边界条件下的一种特殊情况。

这种路径交叉需要满足以下条件:

第 44 次移动距离等于第 22 次移动距离。
第 55 次移动距离大于等于第 33 次移动距离减第 11 次移动距离的差;注意此时第 33 次移动距离一定大于第 11 次移动距离,否则在上一步就已经出现第 11 类路径交叉的情况了。

第 33 类,如上图所示,第 ii 次移动和第 i-5i−5 次移动(包含端点)交叉的情况,例如归纳中的 6-26−2 和 6-36−3。

这种路径交叉需满足以下条件:

第 i-1i−1 次移动距离大于等于第 i-3i−3 次移动距离减第 i-5i−5 次移动距离的差,且小于等于第 i-3i−3 次移动距离;注意此时第 i-3i−3 次移动距离一定大于第 i-5i−5 次移动距离,否则在两步之前就已经出现第 11 类路径交叉的情况了。
第 i-2i−2 次移动距离大于第 i-4i−4 次移动距离;注意此时第 i-2i−2 次移动距离一定不等于第 i-4i−4 次移动距离,否则在上一步就会出现第 33 类路径交叉(或第 22 类路径交叉)的情况了。
第 ii 次移动距离大于等于第 i-2i−2 次移动距离减第 i-4i−4 次移动距离的差。

2021-10-29相关推荐

  1. 京东双11热爱环游记,使用AUTO.JS脚本自动领汪汪币(2021.10.29最新)

    点击上方蓝字"优派编程"选择"加为星标",第一时间关注原创干货 https://www.fang1688.cn/study-code/2523.html 每年某 ...

  2. 科恩第一章Friday, October 29, 2021 10:13 AM

    文章目录 Chapeter 1 Part A Electromagnetic Waves and Photons **Wave-particle Duality** Chapeter 1 Friday ...

  3. 2021.10.25-10.31 AI行业周刊(第69期):AI进化之路

    本周<Opencv基础及AI项目实战>以及<Pytorch模型推理及多任务通用范式>两门课程已经完结. 两门课程中,针对所有完成作业的同学,都颁发了毕业证书. 并且对于完成比较 ...

  4. Python 最近两条好消息:①TIOBE排名超过C和Java②新版本发布3.10.0,还有今天刚发布的《What’s New in Python(2021.10.15)》

    来自TIOBE的最新10月份统计数据显示,Python首次超越Java.JavaScript.C语言等,成为最受欢迎的编程语言.TIOBE过去20年一直在追踪编程语言的受欢迎程度,其数据来自于对25个 ...

  5. leetcode刷题记录2:进度64, 2021.10.23

    文章目录 数组的度(题目编号697:[link](https://leetcode-cn.com/problems/degree-of-an-array/)) 二叉搜索树(题目编号700:[link] ...

  6. 2021.12.29国内第一家量产蓝牙AOA高精度定位基站设备原厂深圳核芯物联荣获第二十三届高交会双项大奖

    2021.12.29国内第一家量产蓝牙AOA高精度定位基站设备原厂深圳核芯物联荣获第二十三届高交会双项大奖 2021年12月29日,核芯物联参展第二十三届中国国际高新技术成果交易会.凭借在蓝牙AOA基 ...

  7. 美团笔试题2021.8.29(第四题求大佬解答)

    美团笔试题2021.8.29 又再帮同学写,推了这周的周赛,侥幸都有点思路 丁香树 题目描述 思路 因为芳香值最大为30,所以用一个数组存储已走过的芳香值,然后走到第i个点,找比当前芳香值小的有多少个 ...

  8. 叮~2021 CSDN年度报告已出炉;私信新增拉黑功能;创作助手支持错别字检测……【2021.12.29】

    hello,大家好,这里是「CSDN产品周报」第23期.本次更新主要涉及博客.问答及私信,欢迎大家详细了解和使用. 一.博客使用体验优化 1.优化复制按钮,复制代码无压力 优化前 优化后 2.优化博客 ...

  9. 电动力学每日一题 2021/10/23 载流板产生的电磁场

    电动力学每日一题 2021/10/23 载流板产生的电磁场 载流板的辐射 载流板的辐射 先验证电荷守恒: ∂ρ∂t=−∇⋅J=−∂∂zJz=0\frac{\partial \rho}{\partial ...

  10. 电动力学每日一题 2021/10/15 Fourier变换法计算均匀电流密度产生的磁场

    电动力学每日一题 2021/10/15 Fourier变换法计算均匀电流密度产生的磁场 无限长均匀电流 无限长圆柱面均匀电流密度 无限长均匀电流 假设z轴上有一根非常细的电线,携带均匀电流I0I_0I ...

最新文章

  1. 给大家推荐一个.Net的混淆防反编译工具ConfuserEx
  2. C#-Stmp发邮件
  3. SAP 参照sto订单创建外向交货BAPI
  4. 【Python SQLAlchemy】数据库连接池SQLAlchemy中多线程安全的问题
  5. delete不调用析构函数的两种情况
  6. vue 项目上传到码云 解决push失败
  7. 【Coursera】Third Week(1)
  8. 分支语句---- if …… else if …… else
  9. 不容易,今天的成果。
  10. 2019年春第四次课程设计实验报告
  11. 我们可以拥有多少级指针?
  12. JavaScript的闭包与应用
  13. c语言程序设计 简述操作系统管理文件的方法,C语言程序设计基础实验.doc
  14. 高仓健电影《海峡》观后感
  15. 抖音sdk,抖音开发api接口
  16. 华杉讲透《孙子兵法》阅读有感(一)
  17. android 修改双卡铃声,Android 修改系统来电铃声
  18. android+蓝牙遥控器,一种通过蓝牙遥控安卓设备的方法与流程
  19. ember js搭建web_使用Ember.js构建雄心勃勃的Web应用程序
  20. 火车头linux,火车头采集器 能在linux系统上使用吗?

热门文章

  1. WORKNC2018-2017基础到实战编程视频教程 三四五轴 大模编程
  2. java显示多个地区时钟_妙用Java多线程机制实现多个时区时钟显示
  3. 干掉鼠标!用这 4 款 App 大幅提升 Mac 键盘效率
  4. 传智播客实战taotao项目页面菜单栏Tree的Java实现方法
  5. 记录 Android 常用轮子
  6. 楚翔教师网上学习助手桌面版
  7. 写文章、改句子、文章生成、AI生成器网址汇总
  8. vue3 引入element-plus出错
  9. 如何在word(wps)文档中插入一条水平直线(横线)
  10. Spark SQL之RDD, DataFrame, DataSet详细使用