Menu
CoddyTech

Is Subsequence

やさしい2つのポインタpython iconjava iconcpp iconc iconjs icon+10

2つの文字列 s と t が与えられます。文字の順序を保ったまま t からいくつかの文字を削除(削除しなくてもよい)して s にできる場合は true を、そうでない場合は false を返してください。たとえば、ace は abcde の部分列ですが、aec はそうではありません。

関数

isSubsequence(s: string, t: string) → boolean
sstring
検索する文字列
tstring
文字を削除する対象の文字列
戻り値boolean
必要に応じて間隔を空けながら、s を t の中で順番に読み取れる場合は true

制約

  • 1 ≤ s.length ≤ 3 × 104
  • 1 ≤ t.length ≤ 5 × 104
  • s と t に含まれるのは、小文字の英字のみです。

例

入力
s = "ace"t = "abcde"
出力
true
説明
abcdeからbとdを削除すると、aceが同じ順序で残ります。
challenge icon

発展問題

tを固定したまま、100万個の文字列sを照合する場合、毎回t全体を読むよりも速く判定できるように、tをどのように準備しますか?

コードをリセット
def isSubsequence(s, t):
    # ここにコードを書いてください

テスト #1

テスト #2

テスト #3

引数

s = "ace"
t = "abcde"

期待される出力

true