self_crossing

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 26, 2019 License: MIT Imports: 0 Imported by: 0

README

< Previous                  Next >

335. Self Crossing (Hard)

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:

Input: [2,1,1,2]

?????
?   ?
???????>
    ?

Input: true 
Explanation: self crossing

Example 2:

Input: [1,2,3,4]

????????
?      ?
?
?
?????????????>

Output: false 
Explanation: not self crossing

Example 3:

Input: [1,1,1,1]

?????
?   ?
?????>

Output: true 
Explanation: self crossing

[Math]

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL