微网站建设报价方案专业的制作网站开发公司
微网站建设报价方案,专业的制作网站开发公司,有什么比较好的画册设计网站,亦庄做网站题目
给你两个单词 w o r d 1 word1 word1 和 w o r d 2 word2 word2#xff0c; 请返回将 w o r d 1 word1 word1 转换成 w o r d 2 word2 word2 所使用的最少操作数 。
你可以对一个单词进行如下三种操作#xff1a;
插入一个字符删除一个字符替换一个字符
方法—动…题目
给你两个单词 w o r d 1 word1 word1 和 w o r d 2 word2 word2 请返回将 w o r d 1 word1 word1 转换成 w o r d 2 word2 word2 所使用的最少操作数 。
你可以对一个单词进行如下三种操作
插入一个字符删除一个字符替换一个字符
方法—动态规划
定义 d p dp dp 数组 d p [ i ] [ j ] dp[i][j] dp[i][j] 表示 w o r d 1 [ 0... i − 1 ] word1[0...i-1] word1[0...i−1] 与 w o r d 2 [ 0... j − 1 ] word2[0...j-1] word2[0...j−1] 的编辑距离边界条件 d p [ 0 ] [ j ] j , d p [ i ] [ 0 ] i dp[0][j] j, dp[i][0] i dp[0][j]j,dp[i][0]i转移 若 w o r d 1 [ i − 1 ] w o r d [ j − 1 ] word1[i-1] word[j-1] word1[i−1]word[j−1] d p [ i ] [ j ] m i n ( d p [ i − 1 ] [ j ] 1 , d p [ i ] [ j − 1 ] 1 , d p [ i ] [ j ] ) dp[i][j] min(dp[i-1][j]1,dp[i][j-1]1,dp[i][j]) dp[i][j]min(dp[i−1][j]1,dp[i][j−1]1,dp[i][j])若 w o r d 1 [ i − 1 ] ! w o r d [ j − 1 ] word1[i-1] ! word[j-1] word1[i−1]!word[j−1] d p [ i ] [ j ] m i n ( d p [ i − 1 ] [ j ] 1 , d p [ i ] [ j − 1 ] 1 , d p [ i ] [ j ] 1 ) dp[i][j] min(dp[i-1][j]1,dp[i][j-1]1,dp[i][j]1) dp[i][j]min(dp[i−1][j]1,dp[i][j−1]1,dp[i][j]1)
代码
class Solution {
public:int minDistance(string word1, string word2) {int n1 word1.size();int n2 word2.size();if(n1*n2 0)return n1n2;vectorvectorint dp(n11, vectorint(n21));for(int i 1; i n11; i){dp[i][0] i;}for(int i 1; i n21; i){dp[0][i] i;}for(int i 1; i n11; i){for(int j 1; j n21; j){if(word1[i-1] word2[j-1]){dp[i][j] min(dp[i-1][j]1, min(dp[i][j-1]1, dp[i-1][j-1]));}else{dp[i][j] min(dp[i-1][j]1, min(dp[i][j-1]1, dp[i-1][j-1]1));}}}return dp[n1][n2];}
};
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/86562.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!