Solution: Longest Common Subsequence
Explore how to solve the longest common subsequence problem by applying dynamic programming. Learn the top-down memoization approach that stores intermediate results in a 2D table to optimize recursive solutions. This lesson helps you understand how to reduce time complexity from exponential to polynomial and manage space complexity effectively for strings with up to 500 characters.
Statement
Suppose you are given two strings. You need to find the length of the longest common subsequence between these two strings.
A subsequence is a string formed by removing some characters from the original string while maintaining the relative position of the remaining characters. For example, “abd” is a subsequence of “abcd”, where the removed character is “c”.
If there is no common subsequence, then return 0.
Constraints:
-
str1.length