Cheapest Flights Within K Stops LeetCode solution in JavaScript

1
/**
2
* @param {number} n
3
* @param {number[][]} flights
4
* @param {number} src
5
* @param {number} dst
6
* @param {number} k
7
* @return {number}
8
*/
9
const MAX_PRICE = Math.pow(10, 8);
10
var findCheapestPrice = function (n, flights, src, dst, k) {
11
let prev = [];
12
let step = 0;
13
let curr = [];
14
for (let i = 0; i < n; i++) {
15
prev[i] = MAX_PRICE;
16
}
17
prev[src] = 0;
18
while (step - 1 < k) {
19
curr = [...prev];
20
let isAnyChange = false;
21
for (let i = 0; i < flights.length; i++) {
22
let [src, dst, p] = flights[i];
23
if (prev[src] >= MAX_PRICE) continue;
24
let totalCostToReachDst = prev[src] + p;
25
curr[dst] = Math.min(curr[dst], totalCostToReachDst);
26
}
27
step++;
28
prev = curr;
29
}
30
return prev[dst] >= MAX_PRICE ? -1 : prev[dst];
31
};

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0