P*******b 发帖数: 1001 | 1 写程序求一个词到另一个词的最短变换路径。这个题是怎么回事。哪位给指点一下。谢谢 |
j*****u 发帖数: 1133 | 2 edit distance
谢谢
【在 P*******b 的大作中提到】 : 写程序求一个词到另一个词的最短变换路径。这个题是怎么回事。哪位给指点一下。谢谢
|
h***o 发帖数: 1494 | 3 int TransferString(char* str1, char* str2)
{
if(!str1||!str2)
return -1;
int len1=strlen(str1);
int len2=strlen(str2);
int** t=new int[len1+1][len2+1];
for(int i=0;i
t[i][0]=i;
for(int j=0;j
t[0][j]=j;
for(j=1;j
for(i=1;i
{
if(str1[i]==str2[j])
d[i][j]=d[i-1][j-1];
else
{
d[i][j]=d[i-1][j]>d[i][j-1]?d[i][j-1]:d[i-1][j];
d[i][j]=d[i][j]>d[i-1][j-1]?d[i-1][j-1]:d[i][j];
d[i][j]++;
}
}
return t[len1][len2];
} |
P*******b 发帖数: 1001 | 4 谢谢。
这个难道不要求每次变化都必须是一个合法的单词吗?
【在 h***o 的大作中提到】 : int TransferString(char* str1, char* str2) : { : if(!str1||!str2) : return -1; : int len1=strlen(str1); : int len2=strlen(str2); : int** t=new int[len1+1][len2+1]; : for(int i=0;i: t[i][0]=i; : for(int j=0;j
|