ホームページ >バックエンド開発 >PHPチュートリアル >プレフィックスとサフィックスのペアを数える I
3042。プレフィックスとサフィックスのペアを数える I
難易度: 簡単
トピック: 配列、文字列、トライ、ローリング ハッシュ、文字列マッチング、ハッシュ関数
インデックスが 0 の 文字列配列ワードが与えられます。
2 つの文字列 str1 と str2 を取る boolean 関数 isPrefixAndSuffix を定義しましょう。
たとえば、「aba」は「ababa」の接頭辞であり接尾辞でもあるため、isPrefixAndSuffix("aba", "ababa") は true ですが、isPrefixAndSuffix("abc", "abcd") は false です。
i 数 を表す整数を返します。 j、および isPrefixAndSuffix(words[i], Words[j]) は true です。
例 1:
例 2:
例 3:
制約:
ヒント:
解決策:
すべてのインデックス ペア (i, j) (i
このソリューションを PHP で実装してみましょう: 3042。プレフィックスとサフィックスのペアを数える I
<?php /** * @param String[] $words * @return Integer */ function countPrefixAndSuffixPairs($words) { ... ... ... /** * go to ./solution.php */ } /** * Function to check if str1 is both a prefix and a suffix of str2 * * @param $str1 * @param $str2 * @return bool */ function isPrefixAndSuffix($str1, $str2) { ... ... ... /** * go to ./solution.php */ } // Example Test Cases $words1 = ["a", "aba", "ababa", "aa"]; $words2 = ["pa", "papa", "ma", "mama"]; $words3 = ["abab", "ab"]; echo countPrefixAndSuffixPairs($words1) . "\n"; // Output: 4 echo countPrefixAndSuffixPairs($words2) . "\n"; // Output: 2 echo countPrefixAndSuffixPairs($words3) . "\n"; // Output: 0 ?>
countPrefixAndSuffixPairs($words):
isPrefixAndSuffix($str1, $str2):
指定された入力配列の場合:
このソリューションは、指定された制約内で効率的に機能するはずです。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
Prefix 文字列の接頭辞は、文字列の先頭から始まり、文字列内の任意の点まで続く部分文字列です。 ↩
サフィックス 文字列のサフィックスは、文字列内の任意の位置から始まり、その末尾まで続く部分文字列です。 ↩
以上がプレフィックスとサフィックスのペアを数える Iの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。