This website contains ALL LeetCode **Premium** problems for
**FREE!!**.

All leaked interview problems are collected from Internet.

All leaked interview problems are collected from Internet.

You are given an array *x* of `n`

positive numbers. You start at point `(0,0)`

and moves `x[0]`

metres to the north, then `x[1]`

metres to the west,
`x[2]`

metres to the south,
`x[3]`

metres to the east and so on. In other words, after each move your direction changes
counter-clockwise.

Write a one-pass algorithm with `O(1)`

extra space to determine, if your path crosses itself, or not.

**Example 1:**

Givenx=`[2, 1, 1, 2]`

, ????? ? ? ???????> ? Returntrue(self crossing)

**Example 2:**

Givenx=`[1, 2, 3, 4]`

, ???????? ? ? ? ? ?????????????> Returnfalse(not self crossing)

**Example 3:**

Givenx=`[1, 1, 1, 1]`

, ????? ? ? ?????> Returntrue(self crossing)

**Credits:**

Special thanks to @dietpepsi for adding this problem and creating all test cases.

b''