最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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ó)家法律
文安县| 伊川县| 蛟河市| 旬邑县| 余姚市| 财经| 宜城市| 昭苏县| 柳州市| 沙湾县| 育儿| 吐鲁番市| 金阳县| 丰城市| 越西县| 江永县| 谢通门县| 临潭县| 庆元县| 五常市| 丹东市| 平塘县| 仁寿县| 大名县| 广昌县| 张家川| 辰溪县| 深圳市| 房产| 金乡县| 永州市| 西藏| 东城区| 莱芜市| 伊通| 安顺市| 比如县| 酉阳| 承德县| 乌兰浩特市| 瑞安市|