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