1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/使字符串平衡的最小交换次数 [minimum-number-of-swaps-to-make-the-string-balanced].html
2022-03-29 12:43:11 +08:00

56 lines
2.1 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>给你一个字符串 <code>s</code> <strong>下标从 0 开始</strong> ,且长度为偶数 <code>n</code> 。字符串 <strong>恰好</strong><code>n / 2</code> 个开括号 <code>'['</code><code>n / 2</code> 个闭括号 <code>']'</code> 组成。</p>
<p>只有能满足下述所有条件的字符串才能称为 <strong>平衡字符串</strong> </p>
<ul>
<li>字符串是一个空字符串,或者</li>
<li>字符串可以记作 <code>AB</code> ,其中 <code>A</code><code>B</code> 都是 <strong>平衡字符串</strong> ,或者</li>
<li>字符串可以写成 <code>[C]</code> ,其中 <code>C</code> 是一个 <strong>平衡字符串</strong></li>
</ul>
<p>你可以交换 <strong>任意</strong> 两个下标所对应的括号 <strong>任意</strong> 次数。</p>
<p>返回使<em> </em><code>s</code> 变成 <strong>平衡字符串</strong> 所需要的 <strong>最小</strong> 交换次数。</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<strong>输入:</strong>s = "][]["
<strong>输出:</strong>1
<strong>解释:</strong>交换下标 0 和下标 3 对应的括号,可以使字符串变成平衡字符串。
最终字符串变成 "[[]]" 。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<strong>输入:</strong>s = "]]][[["
<strong>输出:</strong>2
<strong>解释:</strong>执行下述操作可以使字符串变成平衡字符串:
- 交换下标 0 和下标 4 对应的括号s = "[]][][" 。
- 交换下标 1 和下标 5 对应的括号s = "[[][]]" 。
最终字符串变成 "[[][]]" 。
</pre>
<p><strong>示例 3</strong></p>
<pre>
<strong>输入:</strong>s = "[]"
<strong>输出:</strong>0
<strong>解释:</strong>这个字符串已经是平衡字符串。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>n == s.length</code></li>
<li><code>2 &lt;= n &lt;= 10<sup>6</sup></code></li>
<li><code>n</code> 为偶数</li>
<li><code>s[i]</code><code>'['</code><code>']'</code></li>
<li>开括号 <code>'['</code> 的数目为 <code>n / 2</code> ,闭括号 <code>']'</code> 的数目也是 <code>n / 2</code></li>
</ul>