Una strategia affidabile è capire, pianificare, poi codificare — non saltare mai direttamente a scrivere codice. Un approccio strutturato identifica i casi limite in anticipo e comunica chiaramente il tuo ragionamento.
Un framework passo dopo passo
text
1. CLARIFY -> restate the problem, ask about inputs, ranges, edge cases
2. EXAMPLES -> work a small example by hand; note edge cases (empty, 1, dups)
3. BRUTE FORCE -> state the obvious solution and its complexity
4. OPTIMIZE -> spot the bottleneck; pick a pattern (hash, two-pointer, DP...)
5. CODE -> write clean, modular code while talking through it
6. TEST -> trace examples, check edges, fix bugs
7. ANALYZE -> state final time and space complexity
