| 17 | }; |
| 18 | |
| 19 | var getCoordinates = (target, position, speed) => |
| 20 | position |
| 21 | .map((_position, index) => [ |
| 22 | _position, |
| 23 | speed[index], |
| 24 | ]) /* Time O(N) | Space O(N) */ |
| 25 | .sort( |
| 26 | ([aPosition], [bPosition]) => aPosition - bPosition, |
| 27 | ) /* Time O(N * log(N)) | HeapSort Space 0(1) | QuickSort Space O(log(N)) */ |
| 28 | .map( |
| 29 | ([_position, _speed]) => (target - _position) / _speed, |
| 30 | ); /* Time O(N) | Space O(N) */ |
| 31 | |
| 32 | var searchAscending = (coordinates, stack = []) => { |
| 33 | for (const coordinate of coordinates) { |