Package g0801_0900.s0815_bus_routes
Class Solution
- java.lang.Object
-
- g0801_0900.s0815_bus_routes.Solution
-
public class Solution extends Object
815 - Bus Routes.Hard
You are given an array
routes
representing bus routes whereroutes[i]
is a bus route that theith
bus repeats forever.- For example, if
routes[0] = [1, 5, 7]
, this means that the0th
bus travels in the sequence1 -> 5 -> 7 -> 1 -> 5 -> 7 -> 1 -> ...
forever.
You will start at the bus stop
source
(You are not on any bus initially), and you want to go to the bus stoptarget
. You can travel between bus stops by buses only.Return the least number of buses you must take to travel from
source
totarget
. Return-1
if it is not possible.Example 1:
Input: routes = [[1,2,7],[3,6,7]], source = 1, target = 6
Output: 2
Explanation: The best strategy is take the first bus to the bus stop 7, then take the second bus to the bus stop 6.
Example 2:
Input: routes = [[7,12],[4,5,15],[6],[15,19],[9,12,13]], source = 15, target = 12
Output: -1
Constraints:
1 <= routes.length <= 500
.1 <= routes[i].length <= 105
- All the values of
routes[i]
are unique. sum(routes[i].length) <= 105
0 <= routes[i][j] < 106
0 <= source, target < 106
- For example, if
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
numBusesToDestination(int[][] routes, int source, int target)
-