面試題1 392 判斷子串行

2021-10-08 04:25:42 字數 782 閱讀 8325

給定字串 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 ...