48 lines
1.7 KiB
Markdown
48 lines
1.7 KiB
Markdown
|
<p>给定一个由 <code>'('</code> 和 <code>')'</code> 括号组成的字符串 <code>S</code>,我们需要添加最少的括号( <code>'('</code> 或是 <code>')'</code>,可以在任何位置),以使得到的括号字符串有效。</p>
|
|||
|
|
|||
|
<p>从形式上讲,只有满足下面几点之一,括号字符串才是有效的:</p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li>它是一个空字符串,或者</li>
|
|||
|
<li>它可以被写成 <code>AB</code> (<code>A</code> 与 <code>B</code> 连接), 其中 <code>A</code> 和 <code>B</code> 都是有效字符串,或者</li>
|
|||
|
<li>它可以被写作 <code>(A)</code>,其中 <code>A</code> 是有效字符串。</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<p>给定一个括号字符串,返回为使结果字符串有效而必须添加的最少括号数。</p>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>示例 1:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>"())"
|
|||
|
<strong>输出:</strong>1
|
|||
|
</pre>
|
|||
|
|
|||
|
<p><strong>示例 2:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>"((("
|
|||
|
<strong>输出:</strong>3
|
|||
|
</pre>
|
|||
|
|
|||
|
<p><strong>示例 3:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>"()"
|
|||
|
<strong>输出:</strong>0
|
|||
|
</pre>
|
|||
|
|
|||
|
<p><strong>示例 4:</strong></p>
|
|||
|
|
|||
|
<pre><strong>输入:</strong>"()))(("
|
|||
|
<strong>输出:</strong>4</pre>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>提示:</strong></p>
|
|||
|
|
|||
|
<ol>
|
|||
|
<li><code>S.length <= 1000</code></li>
|
|||
|
<li><code>S</code> 只包含 <code>'('</code> 和 <code>')'</code> 字符。</li>
|
|||
|
</ol>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
<div><div>Related Topics</div><div><li>栈</li><li>贪心算法</li></div></div>\n<div><li>👍 84</li><li>👎 0</li></div>
|