【leetcode】第72题 Edit Distance 题目+解析+JAVA代码
来源:互联网 发布:阿兰的唱功如何 知乎 编辑:程序博客网 时间:2024/06/03 18:59
【题目】
Given two words word1 and word2, find the minimum number of steps required to convert word1 to word2. (each operation is counted as 1 step.)
You have the following 3 operations permitted on a word:
a) Insert a character
b) Delete a character
c) Replace a character
这道题意是,输入两个字符串,将第一个变换为第二个,可以插入一个字符,删除一个字符或替换一个字符,这三个操作都算执行了一步。
选择使用动态规划解答。
【代码】
public int minDistance(String word1, String word2) { int m = word1.length(), n=word2.length(); int[][] cost = new int[m+1][n+1]; for(int i=0;i<m+1;i++){ //初始化即其中word1或word2为空时,需要的步骤是另一个的长度,即删除全部字符。 cost[i][0]=i; } for(int i=0;i<n+1;i++){ cost[0][i]=i; } for(int i=1;i<m+1;i++){ for(int j=1;j<n+1;j++){ if(word1.charAt(i-1)==word2.charAt(j-1)) //如果相同不需要执行步骤 cost[i][j]=cost[i-1][j-1]; else{ cost[i][j]=Math.min(cost[i-1][j-1],Math.min(cost[i][j-1],cost[i-1][j])); //如果不相同,选删除、替换、插入中步骤较小的那个 cost[i][j]++; //步骤数加一 } } } return cost[m][n]; }
阅读全文
0 0
- 【leetcode】第72题 Edit Distance 题目+解析+JAVA代码
- LeetCode算法题目:Edit Distance
- [Leetcode] Edit Distance (Java)
- Leetcode Edit Distance Java
- [LeetCode][Java] Edit Distance
- Edit Distance leetcode java
- LeetCode(72)Edit Distance
- LeetCode 72 Edit Distance
- [leetcode 72] Edit Distance
- [leetcode] 72 Edit Distance
- leetcode || 72、Edit Distance
- Edit Distance Leetcode 72
- Edit Distance - LeetCode 72
- leetcode 72:Edit Distance
- [leetcode 72]Edit Distance
- leetcode 72: Edit Distance
- 【Leetcode】Edit Distance #72
- Leetcode#72||Edit Distance
- _RecordsetPtr使用方法
- ArrayAdapter
- 讲解SQL Server定时作业job的设置…
- 倒计时
- SQL Server触发器创建、删除、修改…
- 【leetcode】第72题 Edit Distance 题目+解析+JAVA代码
- UML设计的九种图例(转)
- C++ 运算符优先级列表
- volatile关键字详解
- 数据库名词解释
- 【VS2005】“由于应用程序的配置不…
- js判断复选框至少选择一个
- HTTP POST GET 本质区别详解(转自C…
- linux 设备驱动开发学习笔记(一):并发控制