Tech_Interview_Prep

1-D Dynamic Programming

Breaking a problem into overlapping subproblems indexed by a single variable, solved once each and reused.

Q1.What two properties must a problem have for dynamic programming to apply?

Q2.What is memoization?

Q3.In the classic Fibonacci-with-memoization example, what does memoization change the time complexity from and to?

Q4.What is the key difference between top-down (memoized recursion) and bottom-up (tabulation) DP?