Skip to content

Commit b48a8cb

Browse files
authored
Create 2008-maximum-earnings-from-taxi.js
1 parent c8f5cac commit b48a8cb

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

2008-maximum-earnings-from-taxi.js

+21
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {number} n
3+
* @param {number[][]} rides
4+
* @return {number}
5+
*/
6+
const maxTaxiEarnings = function(n, rides) {
7+
const { max } = Math
8+
const rideStartAt = Array.from({length: n}, () => []);
9+
for (let ride of rides) {
10+
let s = ride[0], e = ride[1], t = ride[2];
11+
rideStartAt[s].push([e, e - s + t]); // [end, dollar]
12+
}
13+
const dp = Array(n+1).fill(0);
14+
for (let i = n-1; i >= 1; --i) {
15+
for (let [e, d] of rideStartAt[i]) {
16+
dp[i] = max(dp[i], dp[e] + d);
17+
}
18+
dp[i] = max(dp[i], dp[i + 1]);
19+
}
20+
return dp[1];
21+
};

0 commit comments

Comments
 (0)