Back to Practice Dashboard
Competitive ProgrammingEasy

Longest Common Sequence

Learn how to solve the 'Longest Common Sequence' problem. This detailed resource details brute force and optimized approaches.

Problem Statement

Easy

Write a function lcs(s1, s2) that returns the length of the longest common subsequence of two strings s1 and s2.

Constraints
  • 0 <= len(s1), len(s2) <= 1000
  • Strings consist of uppercase English letters.

Examples

Example 1
Input
lcs('ABCDGH', 'AEDFHR')
Output
3
Explanation

The longest common subsequence is 'ADH' which has length 3.

Example 2
Input
lcs('AGGTAB', 'GXTXAYB')
Output
4
Explanation

The longest common subsequence is 'GTAB' which has length 4.

Need a Hint?
Define subproblem states, establish the recurrence relation, and use memoization (top-down) or tabulation (bottom-up).
Edge Cases to Watch
  • Empty list or null input variables
  • Single item lists/arrays
  • Extremely large input bounds causing integer or stack overflow

Ready to Solve?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Open in Editor