1035.不相交的线
原来需要转化成‘最长公共子序列的长度’,一下子真不会
class Solution {
public:
int maxUncrossedLines(vector<int>& v, vector<int>& w) {
// dp[i][j]:长度为[0, i - 1]的字符串text1与长度为[0, j - 1]的字符串text2的最长公共子序列为dp[i][j]
vector<vector<int>>dp(v.size()+1, vector<int>(w.size()+1, 0));
int result = 0;
for (int i = 1; i <= v.size(); i++) {
for (int j = 1; j <= w.size(); j++) {
if (v[i - 1] == w[j - 1]) {
dp[i][j] = dp[i - 1][j - 1] + 1;
} else {
dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
}
if (dp[i][j] > result) result = dp[i][j];
}
}
return result;
}
};