国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

Leetcode Day7 1

2022-04-08 17:06 作者:我喜歡喝一點(diǎn)點(diǎn)  | 我要投稿

劍指 Offer 19. 正則表達(dá)式匹配

請(qǐng)實(shí)現(xiàn)一個(gè)函數(shù)用來(lái)匹配包含'. '和'*'的正則表達(dá)式。模式中的字符'.'表示任意一個(gè)字符,而'*'表示它前面的字符可以出現(xiàn)任意次(含0次)。在本題中,匹配是指字符串的所有字符匹配整個(gè)模式。例如,字符串"aaa"與模式"a.a"和"ab*ac*a"匹配,但與"aa.a"和"ab*a"均不匹配。

感覺(jué)題意其實(shí)蠻難理解的。截個(gè)圖:


是比較復(fù)雜的動(dòng)態(tài)規(guī)劃,做了下筆記和注釋。

class?Solution:

????def?isMatch(self,?s:?str,?p:?str)?->?bool:

????????#?要判斷字符串是否匹配,可以用動(dòng)態(tài)規(guī)劃進(jìn)行判斷

????????#?dp[i][j]對(duì)應(yīng)s[i-1]和p[j-1]對(duì)應(yīng)的字符串是否匹配。

????????#?①p[j-1]=='*'

????????#?1.視作p字符串倒數(shù)第二個(gè)字符出現(xiàn)了零次,則不需要判斷是否相等了。

????????#?eg:s[]=abcde

????????#?p[]=abcdf*e?此時(shí)f*視作f出現(xiàn)零次

????????#?這個(gè)情況下:dq[i][j]=dp[i][j-2]

????????#?2.視作p字符串倒數(shù)第二個(gè)數(shù)出現(xiàn)了兩次

????????#?eg:s[]=abcdd

????????#?p[]=abcd*?此時(shí)d*視作d出現(xiàn)了兩次

????????#?3..代表任意字符,并出現(xiàn)了兩次

????????#?eg:s[]=abc

????????#?p[]=abc.*?此時(shí).*視作為空

????????#?②p[j-1]!='*'

????????#?1.d[i-1][j-1]并且s[i-1]=p[j-1]

????????#?eg:s[]=abcde

????????#?p[]=abcde

????????#?2.d[i-1][j-1]并且p[j-1]

????????#?eg:s[]=abcde

????????#?p[]=abcd.?此時(shí).視作e,可以匹配

????????#?③初始化的時(shí)候

????????#?dp[0][0]=0

????????#?并且當(dāng)p偶數(shù)位為'*'時(shí),可以視作出現(xiàn)0次,所以p如果為偶數(shù)位都為*時(shí),可以匹配空字符串


????????m=len(s)+1

????????n=len(p)+1

????????dp=[[False?for?col?in?range(n)]for?row?in?range(m)]

????????dp[0][0]=True

????????for?j?in?range(2,n,2):

????????????dp[0][j]=dp[0][j-2]?and?p[j-1]=='*'

????????for?i?in?range(1,m):

????????????for?j?in?range(1,n):

????????????????if?p[j-1]=='*':

????????????????????if?dp[i][j-2]:dp[i][j]=True

????????????????????elif?dp[i-1][j]?and?s[i-1]==p[j-2]:dp[i][j]=True

????????????????????elif?dp[i-1][j]?and?p[j-2]=='.':dp[i][j]=True

????????????????else:

????????????????????if?dp[i-1][j-1]?and?s[i-1]==p[j-1]:dp[i][j]=True

????????????????????elif?dp[i-1][j-1]?and?p[j-1]=='.':dp[i][j]=True

????????return?dp[m-1][n-1]



Leetcode Day7 1的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
定陶县| 麻栗坡县| 云安县| 丰镇市| 海城市| 忻城县| 电白县| 玛曲县| 农安县| 安阳市| 濉溪县| 托克逊县| 开阳县| 沙洋县| 宣城市| 南阳市| 舞钢市| 芒康县| 白朗县| 石阡县| 靖安县| 石首市| 乐亭县| 天津市| 卓资县| 罗源县| 安吉县| 黄浦区| 蛟河市| 长乐市| 临朐县| 武陟县| 阿拉尔市| 拜泉县| 滦南县| 高阳县| 屏东县| 尼木县| 阿图什市| 那曲县| 六枝特区|