給定字串 s 和 t ,判斷 s 是否為 t 的子串行。
你可以認為 s 和 t 中僅包含英文小寫字母。字串 t 可能會很長(長度 ~= 500,000),而 s 是個短字串(長度 <=100)。
字串的乙個子串行是原始字串刪除一些(也可以不刪除)字元而不改變剩餘字元相對位置形成的新字串。(例如,"ace"是"abcde"的乙個子串行,而"aec"不是)。
示例 1:
s = "abc", t = "ahbgdc"
返回 true.
示例 2:
s = "axc", t = "ahbgdc"
返回 false.
後續挑戰 :
如果有大量輸入的 s,稱作s1, s2, ... , sk 其中 k >= 10億,你需要依次檢查它們是否為 t 的子串行。在這種情況下,你會怎樣改變**?
class solution:
def issubsequence(self, s: str, t: str) -> bool:
start = 0
tag = 0
for i in range(len(s)):
for k in range(start, len(t)):
if s[i] == t[k]:
tag += 1
start = k + 1
break
if tag == len(s):
return true
else:
return false
面試題 最長連續子串行
題目 leetcode 128 最長連續子串行 但是有所不同的是,這裡求得不僅僅是長度,同時需要將整個子串行給復原出來,最後返回乙個子串行的陣列。100,4,200,1,3,2 1,2,3,4 第一種方法是利用map的方法,這種方法的話時間複雜度是o n 因為不需要排序,排序的時間複雜度是o nlo...
序列元素IT面試題 判斷合法出棧序列
本文純屬個人見解,是對前面學習的總結,如有描述不正確的地方還請高手指正 在技巧筆試口試上,我們常常會碰到這樣一類題型,如給你乙個入棧序列,然後再讓你判斷幾個序列是否有可能為它的出棧序列,如 入棧序列為 1 2 3 4 5,則 1 2 3 4 5可能為它的出棧序列,而 5 4 1 2 3弗成能為它的 ...
動態規劃 面試題 最長上公升子串行
我是覺得這個系列 少了點東西 原來是最長上公升子串行沒寫 題目 輸入 10,9,2,5,3,7,101,18 輸出 4 解釋 最長的上公升子串行是 2,3,7,101 它的長度是 4。動態規劃 四步走起 動態規劃 確定狀態 dp i 代表以nums i 結尾的最大增序列個數 狀態轉移 前提 a i ...