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)/找两个和为目标值且不重叠的子数组 [find-two-non-overlapping-sub-arrays-each-with-target-sum].html
2022-03-29 12:43:11 +08:00

53 lines
1.9 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>给你一个整数数组&nbsp;<code>arr</code> 和一个整数值&nbsp;<code>target</code>&nbsp;</p>
<p>请你在 <code>arr</code>&nbsp;中找 <strong>两个互不重叠的子数组</strong>&nbsp;且它们的和都等于&nbsp;<code>target</code>&nbsp;。可能会有多种方案,请你返回满足要求的两个子数组长度和的 <strong>最小值</strong></p>
<p>请返回满足要求的最小长度和,如果无法找到这样的两个子数组,请返回 <strong>-1</strong>&nbsp;</p>
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre><strong>输入:</strong>arr = [3,2,2,4,3], target = 3
<strong>输出:</strong>2
<strong>解释:</strong>只有两个子数组和为 3 [3] 和 [3])。它们的长度和为 2 。
</pre>
<p><strong>示例 2</strong></p>
<pre><strong>输入:</strong>arr = [7,3,4,7], target = 7
<strong>输出:</strong>2
<strong>解释:</strong>尽管我们有 3 个互不重叠的子数组和为 7 [7], [3,4] 和 [7]),但我们会选择第一个和第三个子数组,因为它们的长度和 2 是最小值。
</pre>
<p><strong>示例 3</strong></p>
<pre><strong>输入:</strong>arr = [4,3,2,6,2,3,4], target = 6
<strong>输出:</strong>-1
<strong>解释:</strong>我们只有一个和为 6 的子数组。
</pre>
<p><strong>示例 4</strong></p>
<pre><strong>输入:</strong>arr = [5,5,4,4,5], target = 3
<strong>输出:</strong>-1
<strong>解释:</strong>我们无法找到和为 3 的子数组。
</pre>
<p><strong>示例 5</strong></p>
<pre><strong>输入:</strong>arr = [3,1,1,1,5,1,2,1], target = 3
<strong>输出:</strong>3
<strong>解释:</strong>注意子数组 [1,2] 和 [2,1] 不能成为一个方案因为它们重叠了。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= arr.length &lt;= 10^5</code></li>
<li><code>1 &lt;= arr[i] &lt;= 1000</code></li>
<li><code>1 &lt;= target &lt;= 10^8</code></li>
</ul>