python 动态规划例子
生活随笔
收集整理的這篇文章主要介紹了
python 动态规划例子
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#-*- coding: UTF-8 -*-import time
def isMatch(s, p):dp=[[False for i in range(len(p)+1)] for j in range(len(s)+1)]'''記錄備忘值'''dp[0][0]=Truefor i in range(1,len(p)+1):if p[i-1]=='*':if i>=2:dp[0][i]=dp[0][i-2]for i in range(1,len(s)+1):for j in range(1,len(p)+1):if p[j-1]=='.':dp[i][j]=dp[i-1][j-1]elif p[j-1]=='*':dp[i][j]=dp[i][j-1] or dp[i][j-2] or (dp[i-1][j] and (s[i-1]==p[j-2] or p[j-2]=='.'))else:dp[i][j]=dp[i-1][j-1] and s[i-1]==p[j-1]return dp[len(s)][len(p)]s="aab"
p="c*a*b"
m="aaa"
n="aa"start = time.clock()print isMatch(s,p)
print isMatch(m,n)elapsed = (time.clock() - start)
print("Time used:",elapsed)
運行結果計算
True False ('Time used:', 0.00013513274654171353)
總結
以上是生活随笔為你收集整理的python 动态规划例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode Regular Exp
- 下一篇: Python 并发编程之使用多线程和多处