Участник:Lenaermakova/Self Crossing

Материал из DISCOPAL
Перейти к: навигация, поиск

https://leetcode.com/problems/self-crossing/

class Solution(object):
    def isSelfCrossing(self, x) -> bool:
        if len(x) < 4:
            return False
        i = 2
        #outer spiral
        while (i < len(x)) and (x[i] > x[i-2]):
            i += 1            
        if i >= len(x):
            return False
 
        if (i>=4 and x[i] >= x[i-2] - x[i-4]) or (i == 3 and x[i] == x[i-2]):
            x[i-1] -= x[i-3]
        i += 1
        #inner spiral
        while (i < len(x)):
            if x[i] >= x[i-2]:
                return True
            i += 1
        return False