image.png

题解

  1. function longestCommonSubsequence(text1: string, text2: string): number {
  2. let dp: number[][] = new Array(text1.length + 1).fill(0).map(() => new Array(text2.length + 1).fill(0));
  3. let max = 0;
  4. for (let i = 1; i <= text1.length; i++) {
  5. for (let j = 1; j <= text2.length; j++) {
  6. if (text1.charAt(i - 1) === text2.charAt(j - 1)) {
  7. dp[i][j] = dp[i - 1][j - 1] + 1;
  8. } else {
  9. dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
  10. }
  11. max = Math.max(dp[i][j], max);
  12. }
  13. }
  14. return max;
  15. };