Loading the journal
Loading the journal
Case Analysis (Geometry)
Go step by step: try it yourself before the video and the visual. Progress saves on this device.
Step 1
Know these before you start
Tick what you already know
Watch the concept video if the pattern is new to you.
Step 2
Try it on paper
5–10 minutes, no code yet
There is an 8 x 8 empty chessboard with 1-indexed rows and columns.
You are given source = [sr, sc], the starting position of a queen, and target = [tr, tc], the target position.
In one move, the queen travels one or more squares along a single row, column, or diagonal, staying within the board.
Return the minimum number of moves for the queen to land exactly on target.
Input: source = [8,1], target = [1,8]
Output: 1
Explanation: One diagonal move.
Input: source = [4,2], target = [1,3]
Output: 2
Explanation: (4,2) → (4,3) → (1,3)
Input: source = [1,1], target = [1,1]
Output: 0
source == [sr, sc]
target == [tr, tc]
1 ≤ sr, sc, tr, tc ≤ 8
The answer can only be 0, 1 or 2:
|sr - tr| == |sc - tc|)tc, then along the column to row tr
(a queen moves like a rook, and a rook reaches any square in ≤ 2 moves)(8,1) → (1,8)) → still |dr| == |dc| → 1Step 6
Get it accepted
All test cases pass
Step 7
Review it so it sticks
Re-solve from memory after
Reading the solution first feels like progress, but it makes the next similar problem — and the interview version — much harder, because you skipped the part where you figure it out. Give it an honest 20–30 minutes. Stuck? Re-read the pattern, watch the concept video, or try the brute force first.
Hidden: approach · solution code · optimal solution