Understand the problem
Restate the problem precisely. Interviewers reward candidates who pause, define the contract, and name the guarantees before coding.
There are `n` cities. Some of them are connected, while some are not. If city `a` is connected directly with city `b`, and city `b` is connected directly with city `c`, then city `a` is connected indirectly with city `c`. A *province* is a group of directly or indirectly connected cities and no other cities outside of the group. You are given an `n × n` matrix `isConnected` where `isConnected[i][j] = 1` if the `i`-th city and the `j`-th city are directly connected, and `isConnected[i][j] = 0` otherwise. Return the total number of provinces.
Once you've drafted a response, click Submit for AI review and a senior engineer will critique your reasoning.