時間複雜度: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...