2007-11-04
动态规划算法,计算单词距离
#!/usr/bin/env python
#coding=utf-8
def word_distance(m,n):
"""compute the least steps number to convert m to n by insert , delete , replace .
动态规划算法,计算单词距离
>>> print word_distance("abc","abec")
1
>>> print word_distance("ababec","abc")
3
"""
len_1=lambda x:len(x)+1
c=[[i] for i in range(0,len_1(m)) ]
c[0]=[j for j in range(0,len_1(n))]
for i in range(0,len(m)):
# print i,' ',
for j in range(0,len(n)):
c[i+1].append(
min(
c[i][j+1]+1,#插入n[j]
c[i+1][j]+1,#删除m[j]
c[i][j] + (0 if m[i]==n[j] else 1 )#改
)
)
# print c[i+1][j+1],m[i],n[j],' ',
# print ''
return c[-1][-1]
import doctest
doctest.testmod()
raw_input("Success!")
发表评论
提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则
- 浏览: 225036 次
- 性别:

- 来自: 江苏

- 详细资料
搜索本博客
我的相册
large_icon_htm.png
共 26 张
共 26 张
最近加入圈子
最新评论
-
Python Trick 两条: 如何 ...
晕 你不解释还真看不懂
-- by huangpengxiao -
看电视<<倚天屠龙记>>随感
赞一个,呵
-- by shiren1118 -
基于jquery ui的自定义布 ...
最终版,见我的豆瓣,safari下有问题,没有启用这个脚本
-- by zuroc -
基于jquery ui的自定义布 ...
safari下jquery ui 1.52 的 draggable 居然也有问题 ...
-- by zuroc -
基于jquery ui的自定义布 ...
thanks for your working and your kindly ...
-- by shameant






评论排行榜