Section 1Understand Problem
Section 01
Understand the problem
Restate the problem precisely. Interviewers reward candidates who pause, define the contract, and name the guarantees before coding.
Problem statement
You are given an array `routes` representing bus routes, where `routes[i]` is a list of stops served by bus `i` cyclically. Given `source` and `target`, return the least number of buses you must take to travel from `source` to `target`. Return `-1` if it's not possible. Initially, you are at `source` and have not boarded any bus.
Example
routes = [[1,2,7],[3,6,7]], source = 1, target = 6 → 2
Constraints
1 ≤ routes.length ≤ 500 · 1 ≤ routes[i].length ≤ 10⁵ · 0 ≤ source, target, routes[i][j] < 10⁶
Audio recording unsupported on this browser.
WPM—Fillers0Pace—Thinking0%
Explain the problem in your own words
0 words0 chars
AI Review
Write your thinking above first.
Once you've drafted a response, click Submit for AI review and a senior engineer will critique your reasoning.
Ready to submit Section 1?
The reviewer will check whether you stated inputs, output, guarantees, and any assumption you flagged.
Write at least a couple of sentences explaining the problem before submitting.