【LeetCodeに挑戦】392.Is Subsequence
現在ITエンジニアとして働いていますが、コーディング・アルゴリズム力をもっと鍛えたいと思い、LeetCodeで学んだ内容をメモ的にアウトプットしています。
今回解いてみた問題は「392. Is Subsequence」です。
問題
2つの文字列s, tがあり、sがtの一部である場合はtrueを、そうでない場合はfalseを返す。
例
Input: s = "abc", t = "ahbgdc"
Output: true
Input: s = "axc", t = "ahbgdc"
Output: false
解法
class Solution:
def isSubsequence(self, s: str, t: str) -> bool:
i=0
for char in t:
if i== len(s): return True
if char==s[i]:
i+=1
return i==len(s)
学んだこと:アルゴリズム
サブシークエンス問題では、2つのポインタを使って進めるアプローチが有効。
順序の保持が重要な場合には「ポインタ」や「インデックス」の管理を考えるのが大切。
学んだこと:英語
subsequence:順序を保持した部分列