本文主要是介绍LeetCode_335 路径交叉(Java版),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
只有如下三种情况:
/* i-2
case 1 : i-1┌─┐
└─┼─>i
i-3
i-2
case 2 : i-1 ┌────┐
└─══>┘i-3
i i-4 (i overlapped i-4)
case 3 : i-4
┌──┐
│i<┼─┐
i-3│ i-5│i-1
└────┘
i-2
*/
public class Solution_335 {
public boolean isSelfCrossing(int[] distance) {
for (int i = 3; i < distance.length; i++) {
if (distance[i] >= distance[i-2] && distance[i-1] <= distance[i-3]){
return true;
}
if (i == 4 && distance[1] == distance[3] && distance[0] + distance[4] == distance[2]){
return true;
}
if (i >= 5 && distance[i-1] >= distance[i-3]-distance[i-5] && distance[i-1] <= distance[i-3] &&
distance[i] >= distance[i-2] - distance[i-4] && distance[i-2] >= distance[i-4]){
return true;
}
}
return false;
}
}
这篇关于LeetCode_335 路径交叉(Java版)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!