Skip to content

Commit c401e5c

Browse files
authored
Update 1776-car-fleet-ii.js
1 parent d2c7978 commit c401e5c

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

1776-car-fleet-ii.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,34 @@
1+
/**
2+
* @param {number[][]} cars
3+
* @return {number[]}
4+
*/
5+
const getCollisionTimes = function(cars) {
6+
const n = cars.length;
7+
const stack = [];
8+
const res = Array(n)
9+
for(let i = n - 1; i >= 0; i--) {
10+
const [p, s] = cars[i]
11+
res[i] = -1
12+
while(stack.length) {
13+
const j = stack[stack.length - 1]
14+
const [p2, s2] = cars[j]
15+
if(s2 >= s || res[j] > 0 && (p2 - p) / (s - s2) >= res[j]) stack.pop()
16+
else break
17+
}
18+
if(stack.length) {
19+
const j = stack[stack.length - 1]
20+
const [p2, s2] = cars[j]
21+
res[i] = (p2 - p) / (s - s2)
22+
}
23+
stack.push(i)
24+
}
25+
26+
return res
27+
};
28+
29+
// another
30+
31+
132
/**
233
* @param {number[][]} cars
334
* @return {number[]}

0 commit comments

Comments
 (0)