【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:順序を保持した部分列


いいなと思ったら応援しよう!