This repository documents my solutions to various data structures and algorithmic challenges. My goal is to develop a deep intuition for data structures and rigorous problem-solving patterns.
When approaching a problem, I prioritize the following criteria to arrive at an "optimal" solution:
- Efficiency: Aiming for the best possible Big-O time and space complexity.
- Idiomatic Python: Utilizing Pythonic structures to write clean, efficient code.
- Readability: Prioritizing clear variable naming and logical flow over "code golf" (brevity for brevity's sake).
- Maintainability: Writing code that is elegant and easy to explain during a live technical interview.
My workflow is designed to maximize retention and conceptual understanding:
- Independent Analysis: Initial attempt is always 100% manual reasoning and whiteboarding.
- Scaffolded Hints: If stuck, I seek high-level conceptual hints (algorithmic paradigms) rather than code snippets.
- Refinement: After solving, I compare my approach against top-performing solutions and AI analysis to identify further optimizations in memory or execution time.