日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

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

示例1

  • 輸入: s = "aa",p = "a"
  • 輸出: false
  • 解釋: "a" 無法匹配 "aa" 整個字符串。

示例2

  • 輸入: s = "aaa",p = "ab*.*"
  • 輸出: true
  • 解釋: 因為 '*' 表示零個或多個,這里 'b' 為 0 個, '.' 為 a , 重復2次。因此可以匹配字符串 "aaa"。

提示

  • s 可能為空,且只包含從 a-z 的小寫字母。
  • p 可能為空,且只包含從 a-z 的小寫字母以及字符 . 和 *,無連續的 '*'。

方法:動態規劃

算法:正則表達式匹配

 

以示例2為例講解:

  • 初始化取 dp[0][0] = true,代表匹配成功;
  • 當s取“a”的時候:p取“a”時候,成功;
  • p取“ab”的時候,失敗;
  • p取“ab*”時候,*出現 0 次,即為 p 取 “a” 時候,成功;
  • p取“ab*.”的時候,失敗,因為 s 只有一個字母,“.” 可以是任意字母,不滿足;
  • p取“ab*.*”的時候,“.” 出現 0 次,“b”出現 0 次,成功。
  • 以此類推……

 

代碼如下:

算法:正則表達式匹配

 

復雜度分析

  • 時間復雜度:O(MN),其中 M,N 分別為 s 和 p 的長度,狀態轉移需遍歷整個 dp 矩陣。
  • 空間復雜度:O(MN),狀態矩陣 dp 使用 O(MN) 的額外空間。

END

本文內容出處是力扣官網,希望和大家一起刷算法,在后面的路上不變禿但是變強!

分享到:
標簽:正則表達式
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定