Skip to content

Latest commit

 

History

History
27 lines (25 loc) · 905 Bytes

335.md

File metadata and controls

27 lines (25 loc) · 905 Bytes

335. Self Crossing

Solution 1 (time O(n), space O(1))

class Solution(object):
    def isSelfCrossing(self, distance):
        """
        :type distance: List[int]
        :rtype: bool
        """
        for i in range(3, len(distance)):
            if (distance[i] >= distance[i - 2] and
                distance[i - 1] <= distance[i - 3]):
                return True
            if (i == 4 and
                distance[3] == distance[1] and
                distance[4] >= distance[2] - distance[0]):
                return True
            if (i >= 5 and
                distance[i - 3] - distance[i - 5] <= distance[i - 1] and
                distance[i - 1] <= distance[i - 3] and
                distance[i] >= distance[i - 2] - distance[i - 4] and
                distance[i - 2] > distance[i - 4]):
                return True
        return False