この問題では、指定された文字列 S 内で部分文字列 S2 が出現した後に部分文字列 S1 が出現するかどうかを確認する必要があります。この問題は、文字列 S 内の S1 と S2 の開始インデックスを比較することで解決できます。 p>
問題ステートメント - S、S1、S2 という名前の 3 つの部分文字列が与えられています。文字列 S には常に部分文字列として S1 が含まれます。指定された文字列 S の部分文字列 S2 の後に部分文字列 S1 が出現するかどうかを確認する必要があります。
###例Enter – S = "abxtutorialspointwelcomepoint"、S1 = "ようこそ"、S2 = "ポイント";
出力 – はい
説明 – 文字列 S では、「ポイント」部分文字列が 2 回現れます。 1 つは「ようこそ」の前、もう 1 つは「ようこそ」の後です。したがって、文字列 S1 は文字列 S2 が発生した後に発生すると言えます。
入力– S = "abcdefgh"、S1 = "abcd"、S2 = "gh";
出力 – いいえ
説明S1 は文字列 S の先頭にあります。したがって、S1 は部分文字列 S2 の後には現れません。
入力– S = "abce"、S1 = "bc"、S2 = "xy";
出力 – いいえ
説明 – 文字列 S2 は文字列 S に存在しないため、No を出力します。
方法1###アルゴリズム###
部分文字列 S2 の開始インデックスを格納するコレクションを定義します。###例### リーリー ###出力### リーリー
時間計算量 - O(N*K)。文字列 S2 の開始インデックスを見つける必要があるためです。###アルゴリズム###
変数の長さを格納するために、len、n1、および n2 変数を定義します。 文字列のトラバースを開始します。部分文字列を格納するため、空間複雑度 - O(min(n1, n2)。
以上が指定された文内で部分文字列 S2 が出現した後に部分文字列 S1 が出現するかどうかを確認します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。