麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

字符串應用之最長公共子序列和最長公共子串

2019-11-11 07:35:08
字體:
來源:轉載
供稿:網友

最長公共子序列

Xm表示X串的前m個字符,即x0,x1...xm?1 LCS(Xm,Yn)即X的前m個字符和Y的前n個字符的最長公共子序列。

動規方程如下: LCS(Xm,Yn)={LCS(Xm?1,Yn?1)+Xmmax(LCS(Xm?1,Yn),LCS(Xm,Yn?1)),xm=xn,xm≠yn

//最長公共子序列int longestCommonSubsequence(string A, string B) { int m = A.size(); int n = B.size(); vector<vector<int>>dp(m + 1, vector<int>(n + 1)); for (int i = 0; i < m; ++i) { for (int j = 0; j < n; ++j) { if (A[i] == B[j]) { dp[i + 1][j + 1] = dp[i][j] + 1; } else { dp[i + 1][j + 1] = max(dp[i][j + 1], dp[i + 1][j]); } } } int i = m - 1; int j = n - 1; string s; //記錄最長子序列并打印 while (i != -1 && j != -1) { if (A[i] == B[j]) { s += A[i]; --i; --j; } else { if ( (dp[i+1][j ] > dp[i ][j+1])) { --j; } else { --i; } } } string res(s.rbegin(), s.rend()); cout << res << endl; return dp[m][n]; // write your code here}

最長公共子串

最長公共子串,由于匹配的字串必須在A、B串都是連續的,因此在更新dp[i][j]的時候只能從dp[i-1][j-1]。

//最長公共字串int longestCommonSubstring(string &A, string &B) { // write your code here size_t m = A.size(); size_t n = B.size(); int res = 0; vector<vector<int>> dp(m, vector<int>(n)); for (int i = 0; i < static_cast<int>(m); ++i) { for (int j = 0; j < static_cast<int>(n); ++j) { if (A[i] == B[j]) { if (i>0 && j>0) { dp[i][j] = dp[i - 1][j - 1] + 1; } else { dp[i][j] = 1; } } if (res < dp[i][j]) { res = dp[i][j]; } } } return res;}
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 99sesese | 女人久久久www免费人成看片 | 精品亚洲一区二区 | 国产一区二区三区在线免费观看 | 亚洲一区二区三区高清视频 | 亚洲小视频在线观看,com | 九九热九九 | 伊人亚洲精品 | 久草视频福利在线观看 | 免费a级网站 | fc2成人免费人成在线观看播放 | 少妇一级淫片高潮流水电影 | 亚洲国产成人一区二区 | 国产亚洲精彩视频 | 国产精品久久久久久久av三级 | 久久精品性视频 | 中国av免费在线观看 | 久久经典视频 | 免费看成年人视频在线 | 亚洲第一页中文字幕 | 国产乱乱视频 | 性片免费看 | 看免费黄色大片 | 91久久久久久久一区二区 | 精品成人av一区二区三区 | 黄在线免费看 | 中文字幕网站在线 | av在线免费看网站 | 蜜桃传媒视频麻豆第一区免费观看 | 97风流梦电影 | 在线成人免费观看www | 欧产日产国产精品乱噜噜 | 成人免费精品视频 | 日日草夜夜操 | 天天看成人免费毛片视频 | 日韩黄色片免费看 | 国产精品久久久久av | 欧美日韩爱爱视频 | 久久精品成人影院 | 国产一区二区欧美精品 | av7777777|