Skip to main content

8 posts tagged with "interview-prep"

View All Tags

Cracking Longest Common Subsequence: A Journey from Confusion to Clarity

· 8 min read
Mahmut Salman
Software Developer

I thought I had DP figured out. I'd solved house robber with that sweet max(rob_this_house + dp[i-2], skip_this_house) logic. I'd reversed linked lists by imagining "the rest is already solved." But when I faced Longest Common Subsequence, all my mental models fell apart.

No decision tree. No "imagine the rest" logic. No clever way to use previous answers. Just... confusion.

Here's how I finally cracked it.

The Dynamic Programming Learning Journey: A Conversation

· 9 min read
Mahmut Salman
Software Developer

A dialogue between an engineer learning DP and a professor clarifying the optimal learning path

The Question

Engineer: Professor, I've been breaking down how to approach dynamic programming problems, and I want to validate my thinking. Here's my approach:

  1. First, I solve the problem using recursion in the worst possible way - not worrying about time or space complexity at all
  2. Then, I optimize that recursive solution with memoization, which gives me a top-down DP solution
  3. Finally, I convert it to bottom-up DP for an even better solution in terms of both time and space complexity

Am I thinking about this correctly? Or am I missing something critical?