[LeetCode]335. Self Crossing

    xiaoxiao2021-03-25  62

    https://leetcode.com/problems/self-crossing/?tab=Description

    依次按照数组长度,上左下右移动,判断是否会穿过之前路线

    可能情况为下列三种,其余均为变形

    public class Solution { public boolean isSelfCrossing(int[] x) { for (int i = 3; i < x.length; i++) { if (x[i] >= x[i - 2] && x[i - 1] <= x[i - 3]) { return true; } else if (i > 3 && x[i - 1] == x[i - 3] && x[i] + x[i - 4] >= x[i - 2]) { return true; } else if (i > 4 && x[i - 4] <= x[i - 2] && x[i] + x[i - 4] >= x[i - 2] && x[i - 1] <= x[i - 3] && x[i - 1] + x[i - 5] >= x[i - 3]) { return true; } } return false; } } /* 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 */

    转载请注明原文地址: https://ju.6miu.com/read-37448.html

    最新回复(0)