本文實例講述了Python基于動態規劃算法計算單詞距離。分享給大家供大家參考。具體如下:
#!/usr/bin/env python#coding=utf-8def 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 doctestdoctest.testmod()raw_input("Success!")希望本文所述對大家的Python程序設計有所幫助。
新聞熱點
疑難解答
圖片精選