Couples Holding Hands
A hard-tier problem at 58% community acceptance, tagged with Greedy, Depth-First Search, Breadth-First Search. Reported in interviews at Citadel and 0 others.
Couples Holding Hands is a HARD graph problem that Citadel has reportedly asked. It's deceptively simple to state but trips up most candidates because the greedy intuition doesn't work, and the actual solution requires thinking in terms of graph connectivity rather than brute-force swaps. With an acceptance rate around 58%, half the people who attempt it either timeout or submit wrong logic. The trick is recognizing this as a state-space problem where Union Find or DFS/BFS finds the minimum swaps needed to pair couples. If this hits your live OA and you blank on the pattern, StealthCoder surfaces the solution invisible to the proctor.
Companies that ask "Couples Holding Hands"
Couples Holding Hands is the kind of problem that decides whether you pass. StealthCoder reads the problem on screen and surfaces a working solution in under 2 seconds. Invisible to screen share. The proctor sees nothing. Made by a working FAANG engineer who treats the OA the way companies treat hiring: as a game with rules you should know.
Get StealthCoderThe problem tempts you toward greedy: scan the array, swap mismatched pairs into place, count swaps. That fails because a greedy choice can create downstream conflicts that require more swaps overall. The real insight is that couples form connected components in a graph where edges represent 'these two people need to swap'. Each component of size n requires exactly n-1 swaps to untangle. Union Find or DFS/BFS builds this graph, counts components, and derives the answer. Most candidates waste 30+ minutes chasing greedy before pivoting. The Greedy, Depth-First Search, and Union Find topics all converge here, but Union Find is the cleanest. StealthCoder is the hedge if you commit to greedy initially and run out of time to rethink.
Pattern tags
You know the problem.
Make sure you actually pass it.
Couples Holding Hands recycles across companies for a reason. It's hard-tier, and most candidates blank under the timer. StealthCoder is the hedge: an AI overlay invisible during screen share. It reads the problem and surfaces a working solution in under 2 seconds. Made by a working FAANG engineer who treats the OA the way companies treat hiring: as a game with rules you should know. Works on HackerRank, CodeSignal, CoderPad, and Karat.
Couples Holding Hands interview FAQ
Why doesn't greedy work on Couples Holding Hands?+
Greedy assumes swapping adjacent pairs into correct positions minimizes swaps. But one greedy swap can force another couple further apart, requiring extra swaps later. The problem requires global reasoning about connected components, not local decisions. Union Find or DFS reveals the true structure.
Is Couples Holding Hands still asked at Citadel?+
Citadel is the only company in current reports asking this problem. It's a hard-tier graph and state-space problem that tests whether candidates can abandon naive approaches and think in terms of connectivity and component structure.
What's the relationship between Union Find and the greedy/DFS topics listed?+
All three can solve it. Greedy fails as the primary approach but understanding why teaches you when greedy is unsafe. DFS/BFS explicitly traverse components. Union Find is most efficient: build the graph, union paired couples, count final components. For interviews, Union Find shows maturity.
How much time should I spend before switching approaches?+
If greedy swaps work for the first example but you're unsure the formula holds for all cases, stop and rethink immediately. Don't code 20 minutes of greedy logic hoping it's correct. Sketch the graph/component model first.
With 58% acceptance, is this a 50/50 interview?+
The 58% rate reflects online-judge submissions, not interview performance. In a live OA, you have time and error-recovery. The real risk is pattern blindness. If you've seen the state-space insight before, it's medium-hard. If not, it's hard.
Want the actual problem statement? View "Couples Holding Hands" on LeetCode →