Category: Dynamic Programming
Difficulty: intermediate
Description: Find longest common subsequence
Time Complexity: O(mn)
Space Complexity: O(mn)