码迷,mamicode.com
首页 > 编程语言 > 详细

编辑距离算法

时间:2019-11-22 12:17:03      阅读:89      评论:0      收藏:0      [点我收藏+]

标签:思想   怎么   div   span   shu   题目   练习   col   problem   

这是个很经典的动态规划题目(可惜我每次都只明白原理,却不知道怎么写).

主要概念:https://www.jianshu.com/p/46ff18e8d636

题目链接:https://leetcode-cn.com/problems/edit-distance/

 1 class Solution {
 2 public:
 3     int minDistance(string word1, string word2) {
 4         int length1=word1.size();int length2=word2.size();
 5         int dp[length1+1][length2+1]={0};
 6         for(int i=0;i<=length1;i++) dp[i][0]=i;
 7         for(int j=0;j<=length2;j++) dp[0][j]=j;
 8         for(int i=1;i<=length1;i++)
 9             for(int j=1;j<=length2;j++)
10             {
11                 if(word1[i-1]==word2[j-1]) 
12                     dp[i][j]=min(min(dp[i-1][j],dp[i][j-1])+1,dp[i-1][j-1]);
13                 else 
14                     dp[i][j]=min(min(dp[i-1][j],dp[i][j-1])+1,dp[i-1][j-1]+1);
15             }
16         return dp[length1][length2];
17     }
18 };

目前对动态规划的题目终于有点认识了,不过还需要接着练习很多题,才能明白这种思想

编辑距离算法

标签:思想   怎么   div   span   shu   题目   练习   col   problem   

原文地址:https://www.cnblogs.com/pppyyyzzz/p/11910581.html

(0)
(1)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!