難度簡單135
給定字串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
.
class solution:
def issubsequence(self, s: str, t: str) -> bool:
# 判斷 s 是否為 t 的子串行。
# 指標 point_s 指向 s 第乙個字元,指標 point_t 指向 t 第乙個字元。逐一判斷 point_s 所指向的字元是否在 t 中存在。
point_s = 0
point_t = 0
length_s = len(s)
length_t = len(t)
'''1、如果 s[point_s] != t[point_t] , point_t = point_t + 1, 繼續對比t的下乙個字元,s的第point_s個字元是否在t中
2、如果 s[point_s] == t[point_t] , point_s = point_s + 1 , point_t = point_t + 1, 繼續對比s的下乙個字元。
''' while point_s < length_s and point_t < length_t:
if s[point_s] == t[point_t]:
point_s = point_s + 1
point_t = point_t + 1
# 最後通過point_s是否與length_s相等判斷s 是否為 t 的子串行。
return point_s == length_s
LeetCode 135 分發糖果
老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例 1 輸入 1,0,2 輸出 ...
leetcode135 分發糖果
一道很有意思的題目,難度級別為 困難。題目是這樣的的 老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需...
leetcode135 分發糖果
老師想給孩子們分發糖果,有 n 個孩子站成了一條直線,老師會根據每個孩子的表現,預先給他們評分。你需要按照以下要求,幫助老師給這些孩子分發糖果 每個孩子至少分配到 1 個糖果。相鄰的孩子中,評分高的孩子必須獲得更多的糖果。那麼這樣下來,老師至少需要準備多少顆糖果呢?示例 1 輸入 1,0,2 輸出 ...