介绍
このチュートリアルでは、文字列 B が文字列 A の部分文字列として存在するかどうかを確認するクエリについて説明します。部分文字列は、メイン文字列の一部である文字列です。 Query 配列には、いくつかの整数値があり、文字列 A のインデックスがチェックされ、それらの整数値が部分文字列 B と一致するかどうかが確認されます。C クエリを使用して、B が A の部分文字列であるかどうかを確認します。このアプローチでは、文字列 A があり、B は A の部分文字列です。C のクエリは、配列形式で表される整数値です。文字列 A があり、B は部分文字列、i は一部のクエリの整数値です。部分文字列 B が文字列 A のクエリ インデックス値に存在する場合、出力は Yes になります。それ以外の場合、出力は No になります。
実装 1
の中国語翻訳:
実装案 1
リーリー
###出力###
リーリー
上記の例では、A[0,2] で、インデックス値 0 ~ 2 の文字は「aba」であり、部分文字列 B と等しいため、出力は「Yes」になります。
A[1, 3] では、インデックス値 1 ~ 3 の文字は「bab」であり、部分文字列 B と等しくありません。したがって、出力は No.
となります。
実装 2
リーリー
###出力###
リーリー
上記の例では、クエリ値を文字列 A のインデックス値として使用して、文字列 A 内の部分文字列 B の存在を確認します。A[0, 9] では、部分文字列 B が文字列 A に存在し、出力はい。この後、他のインデックス値では B が A に存在しないため、出力は No.
になります。
###例###
上記の例を C プログラミング言語で実装するには、ローリング ハッシュ アルゴリズムを使用して部分文字列を入力文字列と照合します。ハッシュ テーブルを使用して部分文字列 B のハッシュ値を計算します。ハッシュ テーブルはキーと値のペアを提供します。高速化するにはローリング ハッシュ アルゴリズムを使用し、文字列 A の再ハッシュを回避します。
リーリー
###出力###
リーリー
结论
この教義では、子文字列が文字列内に存在するかどうかを検査するためのタスクを実行するための C コードを公開しました。 C で子文字列の値を計算する文字列計算法の 1 つは、古い値の子文字列計算法を使用します。哈希関数数。
以上が文字列 B が文字列 A の部分文字列として存在するかどうかを問い合わせますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。