921。括弧を有効にするための最小追加数
難易度: 中
トピック: 文字列、スタック、貪欲
括弧文字列は、次の場合にのみ有効です。
括弧文字列 s が与えられます。 1 回の操作で、文字列の任意の位置に括弧を挿入できます。
を有効にするために必要な最小移動数を返します。
例 1:
例 2:
制約:
解決策:
入力文字列を有効にするために、開き括弧または閉じ括弧をいくつ追加する必要があるかを判断する必要があります。有効な文字列とは、すべての開き括弧 '(' に対応する閉じ括弧 ')' があることを意味します。
この問題は、次のような単純な対抗アプローチを使用して解決できます。
このソリューションを PHP で実装してみましょう: 921。かっこを有効にするための最小追加数
<?php /** * @param String $s * @return Integer */ function minAddToMakeValid($s) { ... ... ... /** * go to ./solution.php */ } // Example usage: $s1 = "())"; echo minAddToMakeValid($s1); // Output: 1 $s2 = "((("; echo minAddToMakeValid($s2); // Output: 3 ?>
この解の時間計算量は O(n) です。n は文字列の長さとスペースです少数の変数のみを使用するため、O(1) の複雑さ。
連絡先リンク
このシリーズが役立つと思われた場合は、GitHub で リポジトリ にスターを付けるか、お気に入りのソーシャル ネットワークで投稿を共有することを検討してください。あなたのサポートは私にとって大きな意味を持ちます!
このような役立つコンテンツがさらに必要な場合は、お気軽にフォローしてください:
以上が。括弧を有効にするための最小追加数の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。