Skip to content

Commit 66002cd

Browse files
committed
feat: add question 1143
1 parent a644f65 commit 66002cd

2 files changed

+39
-1
lines changed

1143.最长公共子序列.js

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
/*
2+
* @lc app=leetcode.cn id=1143 lang=javascript
3+
*
4+
* [1143] 最长公共子序列
5+
*
6+
* 1. dp 解法
7+
* 2. 如果当前位置字符相同, 则 dp[i][j] = dp[i - 1][j - 1] + 1;
8+
* 3. 如果不同, 则 dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
9+
*/
10+
11+
// @lc code=start
12+
/**
13+
* @param {string} text1
14+
* @param {string} text2
15+
* @return {number}
16+
*/
17+
var longestCommonSubsequence = function(text1, text2) {
18+
const dp = [];
19+
for (let i = 0; i <= text1.length; i++) {
20+
dp[i] = [];
21+
for (let j = 0; j <= text2.length; j++) {
22+
if (i === 0 || j === 0) {
23+
dp[i][j] = 0;
24+
continue;
25+
}
26+
27+
if (text1[i - 1] === text2[j - 1]) {
28+
dp[i][j] = dp[i - 1][j - 1] + 1;
29+
} else {
30+
dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
31+
}
32+
}
33+
}
34+
35+
return dp[text1.length][text2.length];
36+
};
37+
// @lc code=end
38+

1311.让字符串成为回文串的最少插入次数.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
* 3. 串的长度 - 最长公共序列长度, 就是差异字符的个数
99
* 4. 补上这些个数的字符, 就构成回文串了
1010
*
11-
* 1. 求最长公共序列, 是标准的 dp 算法
11+
* 1. 求最长公共序列, 是标准的 dp 算法, 同 1143
1212
* 2. 如果当前位置字符相同, 则 dp[i][j] = dp[i - 1][j - 1] + 1;
1313
* 3. 如果不同, 则 dp[i][j] = Math.max(dp[i - 1][j], dp[i][j - 1]);
1414
*

0 commit comments

Comments
 (0)