Edit Distance
来源:互联网 发布:数据库查询分析器 编辑:程序博客网 时间:2024/04/18 12:18
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) { // Start typing your C/C++ solution below // DO NOT write int main() function int w1_size = word1.size(); int w2_size = word2.size(); int max_size = std::max(w1_size, w2_size) + 1; vector<vector<int> > record; for (int i = 0; i <= w1_size; ++i) { record.push_back(vector<int>(w2_size+1, max_size)); record[i][0] = i; } for (int i = 0; i <= w2_size; ++i) { record[0][i] = i; } for (int i = 1; i <= w1_size; ++i) { for (int j = 1; j <= w2_size; ++j) { if (word1[i-1] == word2[j-1]) { //注意下标,从第一个字符word1[0] 与 word2[0] record[i][j] = record[i-1][j-1]; } else { if (record[i-1][j] + 1 < record[i][j]) { record[i][j] = record[i-1][j] + 1; } if (record[i][j-1] + 1 < record[i][j]) { record[i][j] = record[i][j-1] + 1; } if (record[i-1][j-1] + 1 < record[i][j]) { record[i][j] = record[i-1][j-1] + 1; } } } } return record[w1_size][w2_size]; }};
- edit distance
- Edit Distance
- edit distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Edit Distance
- Excel删除区域名
- 孙鑫VC++笔记(六)
- redis-source
- ofbiz-window.open
- svn: Unrecognized URL scheme
- Edit Distance
- python(2.6适用)备份mysql数据库
- jquery 插件编写教程
- 如何写一个完善的c++异常处理类
- 一对多自身关联双向映射
- HTML5游戏技术开发难点分析
- c++/c 获取cpp文件行号跟文件名
- 我于XX公司出差的所见所闻
- 为何HttpURLConnection上传文件进度显示传完了,但是却一直卡在那不动了