算法分析与设计丨第十周丨LeetCode(14)——Edit distance(Hard)
2017-11-12 09:10
495 查看
动态规划
题目链接:https://leetcode.com/problems/edit-distance/description/
题目描述:
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
题目解析:这星期有点忙,下次有时间再来补上
题目链接:https://leetcode.com/problems/edit-distance/description/
题目描述:
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
题目解析:这星期有点忙,下次有时间再来补上
class Solution { public: int minDistance(string word1, string word2) { int size1 = word1.size() + 1; int size2 = word2.size() + 1; vector< vector<int> > temp_matrix(size1,vector<int>(size2)); for(int i = 0;i < size1;++i) temp_matrix[i][0] = i; for(int i = 0;i < size2;++i) temp_matrix[0][i] = i; for(int i = 1;i < size1;++i) for(int j = 1;j < size2;++j) { int diff = 0; if(word1[i-1] != word2[j-1]) diff = 1; int temp = min(1+temp_matrix[i-1][j],1+temp_matrix[i][j-1]); temp = min(temp,diff + temp_matrix[i-1][j-1]); temp_matrix[i][j] = temp; } int result = temp_matrix[size1-1][size2-1]; return result; } };
相关文章推荐
- 算法分析与设计丨第十八周丨LeetCode(21)——Binary Tree Maximum Path Sum(Hard)
- 算法分析与设计丨第三周丨LeetCode(5)——Median of Two Sorted Arrays(Hard)
- 算法分析与设计丨第十四周丨LeetCode(18)——Maximum Subarray(Medium)
- 算法分析与设计丨第六周丨LeetCode(10)——Best Time to Buy and Sell Stock(Easy)
- 算法分析与设计丨第二周丨LeetCode(4)——Maximum Subarray(Easy)
- 算法分析与设计丨第一周丨LeetCode(2)——Different Ways to Add Parentheses(Medium)
- 算法分析与设计丨第一周丨 LeetCode(1)——Two Sum
- 算法分析与设计课程(14):【leetcode】 Maximal Square
- 算法分析与设计丨第六周丨LeetCode(9)——Course Schedule(Medium)
- 算法分析与设计丨第十三周丨LeetCode(17)——Coin Change(Medium)
- 算法分析与设计丨第三周丨LeetCode(6)——Find Largest Value in Each Tree Row(Medium)
- 算法分析与设计丨第十七周丨算法概论第八章习题——k-spanning tree(8.12)
- 算法分析与设计——LeetCode Problem.538 Convert BST to Greater Tree
- [算法分析与设计] leetcode 每周一题: 312. Burst Balloons
- 算法分析与设计——LeetCode:101. Symmetric Tree
- 算法分析与设计课程(17):【leetcode】4Sum
- [算法分析与设计] leetcode 每周一题: Set Matrix Zeroes
- 算法分析与设计——LeetCode Problem.670 Maximum Swap
- [算法分析与设计] leetcode 每周一题: 070. Climbing Stairs
- 算法分析与设计——LeetCode:3. Longest Substring Without Repeating Characters