Edit Distance
来源:互联网 发布:二级代理软件下载 编辑:程序博客网 时间:2024/03/29 06:24
简单DP。
f (i, j) = f (i-1, j-1) , if (a[i] == b[j]);
f (i, j) = min { f (i-1, j-1), f (i-1, j), f (i, j-1)} + 1, else.
public class Solution { public static int [][]re; public int minDistance(String word1, String word2) { // Start typing your Java solution below // DO NOT write main() function if(null == word1 && null == word2) return 0; if(null == word1) return word2.length(); if(null == word2) return word1.length(); int len1 = word1.length(), len2 = word2.length(); re = new int[len1+1][len2+1]; for(int i=0;i<=len1;i++) for(int j=0;j<=len2;j++) { if(i==0) re[i][j] = j; else if(j==0) re[i][j] = i; else { if(word1.charAt(i-1) == word2.charAt(j-1)) re[i][j] = re[i-1][j-1]; else { int min = re[i-1][j-1]; if(re[i-1][j] < min) min = re[i-1][j]; if(re[i][j-1] < min) min = re[i][j-1]; re[i][j] = min + 1; } } } return re[len1][len2]; }}
- 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
- The C10K problem
- Linux Crontab 定时任务 命令详解
- kvm启动虚拟机流程(4)
- OFBIZ获得用户信息
- 根文件系统的挂载过程
- Edit Distance
- orale创建用户和赋予权限
- 选网
- kvm启动虚拟机流程(5)
- 通过Spinner动态赋值,监听获取textview的值
- hibernate中映射异常的一种
- 最大化时子对话框上的控件无反应的解决办法
- linux 的date命令及系统时间设置
- WrapPanel控件增加滚动条