mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-11 02:58:13 +08:00
51 lines
1.9 KiB
HTML
51 lines
1.9 KiB
HTML
|
<p>给你一个二进制数组 <code>nums</code> 。</p>
|
|||
|
|
|||
|
<p>你可以对数组执行以下操作 <strong>任意</strong> 次(也可以 0 次):</p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li>选择数组中 <strong>任意连续</strong> 3 个元素,并将它们 <strong>全部反转</strong> 。</li>
|
|||
|
</ul>
|
|||
|
|
|||
|
<p><strong>反转</strong> 一个元素指的是将它的值从 0 变 1 ,或者从 1 变 0 。</p>
|
|||
|
|
|||
|
<p>请你返回将 <code>nums</code> 中所有元素变为 1 的 <strong>最少</strong> 操作次数。如果无法全部变成 1 ,返回 -1 。</p>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong class="example">示例 1:</strong></p>
|
|||
|
|
|||
|
<div class="example-block">
|
|||
|
<p><span class="example-io"><b>输入:</b>nums = [0,1,1,1,0,0]</span></p>
|
|||
|
|
|||
|
<p><span class="example-io"><b>输出:</b>3</span></p>
|
|||
|
|
|||
|
<p><strong>解释:</strong><br />
|
|||
|
我们可以执行以下操作:</p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li>选择下标为 0 ,1 和 2 的元素并反转,得到 <code>nums = [<u><strong>1</strong></u>,<u><strong>0</strong></u>,<u><strong>0</strong></u>,1,0,0]</code> 。</li>
|
|||
|
<li>选择下标为 1 ,2 和 3 的元素并反转,得到 <code>nums = [1,<u><strong>1</strong></u>,<u><strong>1</strong></u>,<strong><u>0</u></strong>,0,0]</code> 。</li>
|
|||
|
<li>选择下标为 3 ,4 和 5 的元素并反转,得到 <code>nums = [1,1,1,<strong><u>1</u></strong>,<u><strong>1</strong></u>,<u><strong>1</strong></u>]</code> 。</li>
|
|||
|
</ul>
|
|||
|
</div>
|
|||
|
|
|||
|
<p><strong class="example">示例 2:</strong></p>
|
|||
|
|
|||
|
<div class="example-block">
|
|||
|
<p><span class="example-io"><b>输入:</b>nums = [0,1,1,1]</span></p>
|
|||
|
|
|||
|
<p><span class="example-io"><b>输出:</b>-1</span></p>
|
|||
|
|
|||
|
<p><strong>解释:</strong><br />
|
|||
|
无法将所有元素都变为 1 。</p>
|
|||
|
</div>
|
|||
|
|
|||
|
<p> </p>
|
|||
|
|
|||
|
<p><strong>提示:</strong></p>
|
|||
|
|
|||
|
<ul>
|
|||
|
<li><code>3 <= nums.length <= 10<sup>5</sup></code></li>
|
|||
|
<li><code>0 <= nums[i] <= 1</code></li>
|
|||
|
</ul>
|