Leetcode 392 判斷子串行

2021-10-07 04:27:41 字數 771 閱讀 5270

時間複雜度:o(n)

方法一:直接o(n)

class

solution

}return

false;}

};

題解二. 後續挑戰,輸入量大,小寫字母建立25的二維陣列,儲存t的座標,這樣就可以把s的判斷直接轉為座標的判斷。

dp[0]代表了儲存了a出現在t的所有的位置,逐個字元判斷s的字元順序是否在t內,直接返回結果。

時間複雜度o(t.size()+2000):分別為建立陣列需要o(t.size()),

索引是遞增的使用二分查詢s的單個字元20次之內就可找到需要o(100*20)。

適用大量的輸入判斷子串行。

bool

issubsequence

(string s, string t)

if(right[left]

<=tag)

//對於這個判斷條件不是很理解的

return

false

; tag=dp[now]

[left];}

return

true

;}

注意:vector不進行初始化預設的是0。

class

solution

if(tag>=dp[now]

[j]&& tag[j+1])

}}return

true;}

};

leetcode 392 判斷子串行

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

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...