Class Solution


  • public class Solution
    extends Object
    787 - Cheapest Flights Within K Stops\. Medium There are `n` cities connected by some number of flights. You are given an array `flights` where flights[i] = [fromi, toi, pricei] indicates that there is a flight from city fromi to city toi with cost pricei. You are also given three integers `src`, `dst`, and `k`, return _**the cheapest price** from_ `src` _to_ `dst` _with at most_ `k` _stops._ If there is no such route, return `-1`. **Example 1:** ![](https://s3-lc-upload.s3.amazonaws.com/uploads/2018/02/16/995.png) **Input:** n = 3, flights = \[\[0,1,100],[1,2,100],[0,2,500]], src = 0, dst = 2, k = 1 **Output:** 200 **Explanation:** The graph is shown. The cheapest price from city `0` to city `2` with at most 1 stop costs 200, as marked red in the picture. **Example 2:** ![](https://s3-lc-upload.s3.amazonaws.com/uploads/2018/02/16/995.png) **Input:** n = 3, flights = \[\[0,1,100],[1,2,100],[0,2,500]], src = 0, dst = 2, k = 0 **Output:** 500 **Explanation:** The graph is shown. The cheapest price from city `0` to city `2` with at most 0 stop costs 500, as marked blue in the picture. **Constraints:** * `1 <= n <= 100` * `0 <= flights.length <= (n * (n - 1) / 2)` * `flights[i].length == 3` * 0 <= fromi, toi < n * fromi != toi * 1 <= pricei <= 104 * There will not be any multiple flights between two cities. * `0 <= src, dst, k < n` * `src != dst`
    • Constructor Detail

      • Solution

        public Solution()
    • Method Detail

      • findCheapestPrice

        public int findCheapestPrice​(int n,
                                     int[][] flights,
                                     int src,
                                     int dst,
                                     int k)