2981年。 3 回出現する最長の特殊部分文字列を検索 I
難易度: 中
トピック: ハッシュ テーブル、文字列、二分探索、スライディング ウィンドウ、カウント
英小文字で構成される文字列 s が与えられます。
文字列が 1 文字だけで構成されている場合、その文字列は 特殊 と呼ばれます。たとえば、文字列「abc」は特別ではありませんが、文字列「ddd」、「zz」、および「f」は特別です。
少なくとも 3 回出現する s の 最長の特殊部分文字列の長さを返します。、または特殊な部分文字列が少なくとも 3 回出現しない場合は -1を返します。
部分文字列は、文字列内の連続した空ではない文字シーケンスです。
例 1:
例 2:
例 3:
制約:
ヒント:
解決策:
s には小さな制約があるため (長さは最大 50)、総当たりアプローチを使用できます。私たちは次のようにします:
2981。 3 回出現する最長の特殊部分文字列を検索 I
<?php /** * @param String $s * @return Integer */ function maximumLength($s) { ... ... ... /** * go to ./solution.php */ } /** * Helper function to check if a substring is special * * @param $substring * @return bool */ function isSpecial($substring) { ... ... ... /** * go to ./solution.php */ } // Test cases echo maximumLength("aaaa") . "\n"; // Output: 2 echo maximumLength("abcdef") . "\n"; // Output: -1 echo maximumLength("abcabcabc") . "\n"; // Output: 1 ?>
この強引なアプローチは、制約 (n ) を考慮すると実現可能です。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が3 回出現する最長の特殊部分文字列の検索 Iの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。