Back to previous page

PROBLEM SOLVING / 01

THINK.
DECOMPOSE.
SOLVE.

Problem solving is the foundation behind how I approach engineering: understand the constraints, find the right model, choose the right data structures, prove the approach, then optimize the implementation.

DEDICATED PAGE
600+
DSA PROBLEMS SOLVED IN C++

Consistent practice in C++ has built the habit of looking for constraints, patterns, invariants and complexity trade-offs before writing the final code.

01

UNDERSTAND

Clarify inputs, outputs, constraints, edge cases and what actually needs to be optimized.

02

DECOMPOSE

Break the problem into smaller pieces and identify patterns that make the solution tractable.

03

MODEL

Choose the right data structure, abstraction or system boundary before rushing into implementation.

04

IMPLEMENT

Translate the mental model into clear C++ while keeping correctness visible in the code.

05

OPTIMIZE

Revisit time, space, concurrency and resource trade-offs after establishing correctness.

06

VERIFY

Test edge cases and reason about failure modes instead of assuming the happy path is enough.

DATA STRUCTURES.
ALGORITHMS. COMPLEXITY.

My problem-solving practice is centered on DSA in C++, with emphasis on understanding why an approach works and how its complexity behaves—not just memorizing implementations.

Explore technical skills ↗