regular expression matching
問題簡介:給定字串,給定匹配模式,判斷字串是否滿足匹配模式
問題詳解:一共有兩種特殊模式:
『.』 匹配任何單個字元
『*』 匹配前面元素的零個或多個
注:匹配的是整個給定字串,不是部分
舉例:1:
輸入:s = 「aa」
p = 「a」
輸出: false
解釋: 「a」 不匹配 「aa」.
2:輸入:
s = 「aa」
p = 「a*」
輸出: true
解釋: 『*』 代表 0 或多個字元 『a』
3:輸入:
s = 「ab」
p = 「."
輸出: true
解釋: ".」 代表 0 或多個任意字元
4:輸入:
s = 「aab」
p = 「cab」
輸出: true
5:輸入:
s = 「mississippi」
p = 「misisp*.」
輸出: false
解法一:遞迴
先判斷輸入模式,當模式為空時,只判斷輸入文字是否為空即可
將輸入文字與模式逐字元匹配,當碰到特殊符號』.『時相當於匹配任何字元,碰到』*'時則改變字串進入遞迴下一次判斷
class solution else
}}
解法二:dynamic programming
進行解法一的遞迴,我們採取快取中間結果來節省建立字串的空間
enum result
class solution
public boolean dp(int i, int j, string text, string pattern)
boolean ans;
if (j == pattern.length()) else else
}memo[i][j] = ans ? result.true : result.false;
return ans;
}}
小白刷題之路,請多指教— — 要麼大器晚成,要麼石沉大海 LeetCode第十題 Python實現
title leetcode no.10 categories tags 給你乙個字串 s 和乙個字元規律 p,請你來實現乙個支援 和 的正規表示式匹配。匹配任意單個字元 匹配零個或多個前面的那乙個元素 所謂匹配,是要涵蓋 整個 字串 s的,而不是部分字串。示例 1 輸入 s aa p a 輸出 f...
23號第十題
小兔的叔叔從外面旅遊回來給她帶來了乙個禮物,小兔高興地跑回自己的房間,拆開一看是乙個棋盤,小兔有所失望。不過沒過幾天發現了棋盤的好玩之處。從起點 0,0 走到終點 n,n 的最短路徑數是c 2n,n 現在小兔又想如果不穿越對角線 但可接觸對角線上的格點 這樣的路徑數有多少?小兔想了很長時間都沒想出來...
尤拉計畫 第十題
the sum of the primes below 10 is 2 3 5 7 17.find the sum of all the primes below two million.低於10的素數之和為2 3 5 7 17。找出200萬以下所有素數的總和。思路這道題與第7題的線性篩思路一樣,只...