题目
类型:Geometry
解题思路
枚举各种移动方案来归纳路径交叉的规律。
根据归纳结果,发现所有可能的路径交叉的情况只有以下三类:
1、
2、
3、
https://leetcode-cn.com/problems/self-crossing/solution/lu-jing-jiao-cha-by-leetcode-solution-dekx/
代码
class Solution {public boolean isSelfCrossing(int[] distance) {int n = distance.length;for (int i = 3; i < n; ++i) {// 第 1 类路径交叉的情况if (distance[i] >= distance[i - 2] && distance[i - 1] <= distance[i - 3]) {return true;}// 第 2 类路径交叉的情况if (i == 4 && (distance[3] == distance[1]&& distance[4] >= distance[2] - distance[0])) {return true;}// 第 3 类路径交叉的情况if (i >= 5 && (distance[i - 3] - distance[i - 5] <= distance[i - 1]&& distance[i - 1] <= distance[i - 3]&& distance[i] >= distance[i - 2] - distance[i - 4]&& distance[i - 2] > distance[i - 4])) {return true;}}return false;}}
