leetcode 392 判斷子串行

2021-09-14 05:26:56 字數 1158 閱讀 9876

給定字串st,判斷s是否為t的子串行。

你可以認為st中僅包含英文小寫字母。字串t可能會很長(長度 ~= 500,000),而s是個短字串(長度 <=100)。

字串的乙個子串行是原始字串刪除一些(也可以不刪除)字元而不改變剩餘字元相對位置形成的新字串。(例如,"ace""abcde"的乙個子串行,而"aec"不是)。

示例 1:

s="abc",t="ahbgdc"

返回true.

示例 2:

s="axc",t="ahbgdc"

返回false.

動態規劃:dp[i][j] 是 s[0,,i] 是否是t[0..j]的子串行

狀態轉移方程

動態規劃超時!

貪心: 按s串中順序進行匹配,若能匹配完就是子串行

python

class solution:

def issubsequence(self, s: str, t: str) -> bool:

def helper(s, t, i, j, n1, n2):

if i == n1:return true

while i < n1 and j < n2:

if s[i] == t[j]: return helper(s, t, i+1, j+1, n1, n2)

j += 1

return false

return helper(s, t, 0, 0, len(s), len(t))

leetcode 392 判斷子串行

給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abcde ...

LeetCode 392 判斷子串行

題目描述 給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 a...

LeetCode 392 判斷子串行

題目 給定字串 s 和 t 判斷 s 是否為 t 的子串行。你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長 長度 500,000 而 s 是個短字串 長度 100 字串的乙個子串行是原始字串刪除一些 也可以不刪除 字元而不改變剩餘字元相對位置形成的新字串。例如,ace 是 abc...