1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-09-10 01:41:41 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
Files
leetcode-problemset/leetcode-cn/problem (Chinese)/判断是否能拆分数组 [check-if-it-is-possible-to-split-array].html
2025-01-09 20:29:41 +08:00

76 lines
3.7 KiB
HTML
Raw Permalink 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>n</code> 的数组 <code>nums</code> 和一个整数 <code>m</code> 。请你判断能否执行一系列操作,将数组拆分成 <code>n</code><strong>非空 </strong>数组。</p>
<p>一个数组被称为 <strong></strong> 的,如果:</p>
<ul>
<li>子数组的长度为 1 ,或者</li>
<li>子数组元素之和 <strong>大于或等于</strong>&nbsp; <code>m</code></li>
</ul>
<p>在每一步操作中,你可以选择一个 <strong>长度至少为 2</strong> 的现有数组(之前步骤的结果) 并将其拆分成 <strong>2</strong> 个子数组,而得到的 <strong>每个</strong> 子数组都需要是好的。</p>
<p>如果你可以将给定数组拆分成 <code>n</code> 个满足要求的数组,返回 <code>true</code><em> </em>;否则,返回 <code>false</code></p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>nums = [2, 2, 1], m = 4</span></p>
<p><span class="example-io"><b>输出:</b>true</span></p>
<p><strong>解释:</strong></p>
<ul>
<li><code>[2, 2, 1]</code> <span class="example-io">切分为</span> <code>[2, 2]</code>&nbsp;<code>[1]</code>。数组 <code>[1]</code> 的长度为 1数组 <code>[2, 2]</code> 的元素之和等于 <code>4 &gt;= m</code>,所以两者都是好的数组。</li>
<li><code>[2, 2]</code> <span class="example-io">切分为</span> <code>[2]</code>&nbsp;<code>[2]</code>。两个数组的长度都是 1所以都是好的数组。</li>
</ul>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b></span><span class="example-io">nums = [2, 1, 3], m = 5</span></p>
<p><span class="example-io"><b>输出:</b></span><span class="example-io">false</span></p>
<p><strong>解释:</strong></p>
<p>第一步必须是以下之一:</p>
<ul>
<li>&nbsp;<code>[2, 1, 3]</code> <span class="example-io">切分为</span> <code>[2, 1]</code>&nbsp;<code>[3]</code>。数组&nbsp;<code>[2, 1]</code> 既不是长度为 1也没有大于或等于 <code>m</code> 的元素和。</li>
<li><code>[2, 1, 3]</code> <span class="example-io">切分为</span> <code>[2]</code><code>[1, 3]</code>。数组&nbsp;<code>[1, 3]</code> 既不是长度为 1也没有大于或等于 <code>m</code> 的元素和。</li>
</ul>
<p>因此,由于这两个操作都无效(它们没有将数组分成两个好的数组),因此我们无法将 <code>nums</code> 分成 <code>n</code> 个大小为 1 的数组。</p>
</div>
<p><strong class="example">示例 3</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b></span><span class="example-io">nums = [2, 3, 3, 2, 3], m = 6</span></p>
<p><span class="example-io"><b>输出:</b></span><span class="example-io">true</span></p>
<p><strong>解释:</strong></p>
<ul>
<li><span class="example-io">&nbsp;<code>[2, 3, 3, 2, 3]</code>&nbsp;切分为&nbsp;<code>[2]</code>&nbsp;<code>[3, 3, 2, 3]</code></span></li>
<li><span class="example-io"><code>[3, 3, 2, 3]</code> 切分为 <code>[3, 3, 2]</code><code>[3]</code></span></li>
<li><span class="example-io"><code>[3, 3, 2]</code> 切分为 <code>[3, 3]</code><code>[2]</code></span></li>
<li><span class="example-io"><code>[3, 3]</code> 切分为 <code>[3]</code><code>[3]</code></span></li>
</ul>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= n == nums.length &lt;= 100</code></li>
<li><code>1 &lt;= nums[i] &lt;= 100</code></li>
<li><code>1 &lt;= m &lt;= 200</code></li>
</ul>