|
6 | 6 |
|
7 | 7 | <!-- 这里写题目描述 -->
|
8 | 8 |
|
9 |
| -<p>给出非负整数数组 <code>A</code> ,返回两个非重叠(连续)子数组中元素的最大和,子数组的长度分别为 <code>L</code> 和 <code>M</code>。(这里需要澄清的是,长为 L 的子数组可以出现在长为 M 的子数组之前或之后。)</p> |
| 9 | +<p>给你一个整数数组 <code>nums</code> 和两个整数 <code>firstLen</code> 和 <code>secondLen</code>,请你找出并返回两个非重叠<strong> 子数组 </strong>中元素的最大和<em>,</em>长度分别为 <code>firstLen</code> 和 <code>secondLen</code> 。</p> |
10 | 10 |
|
11 |
| -<p>从形式上看,返回最大的 <code>V</code>,而 <code>V = (A[i] + A[i+1] + ... + A[i+L-1]) + (A[j] + A[j+1] + ... + A[j+M-1])</code> 并满足下列条件之一:</p> |
| 11 | +<p>长度为 <code>firstLen</code> 的子数组可以出现在长为 <code>secondLen</code> 的子数组之前或之后,但二者必须是不重叠的。</p> |
12 | 12 |
|
13 |
| -<p> </p> |
14 |
| - |
15 |
| -<ul> |
16 |
| - <li><code>0 <= i < i + L - 1 < j < j + M - 1 < A.length</code>, <strong>或</strong></li> |
17 |
| - <li><code>0 <= j < j + M - 1 < i < i + L - 1 < A.length</code>.</li> |
18 |
| -</ul> |
| 13 | +<p>子数组是数组的一个 <strong>连续</strong> 部分。</p> |
19 | 14 |
|
20 | 15 | <p> </p>
|
21 | 16 |
|
22 | 17 | <p><strong>示例 1:</strong></p>
|
23 | 18 |
|
24 | 19 | <pre>
|
25 |
| -<strong>输入:</strong>A = [0,6,5,2,2,5,1,9,4], L = 1, M = 2 |
| 20 | +<strong>输入:</strong>nums = [0,6,5,2,2,5,1,9,4], firstLen = 1, secondLen = 2 |
26 | 21 | <strong>输出:</strong>20
|
27 | 22 | <strong>解释:</strong>子数组的一种选择中,[9] 长度为 1,[6,5] 长度为 2。
|
28 | 23 | </pre>
|
29 | 24 |
|
30 | 25 | <p><strong>示例 2:</strong></p>
|
31 | 26 |
|
32 | 27 | <pre>
|
33 |
| -<strong>输入:</strong>A = [3,8,1,3,2,1,8,9,0], L = 3, M = 2 |
| 28 | +<strong>输入:</strong>nums = [3,8,1,3,2,1,8,9,0], firstLen = 3, secondLen = 2 |
34 | 29 | <strong>输出:</strong>29
|
35 | 30 | <strong>解释:</strong>子数组的一种选择中,[3,8,1] 长度为 3,[8,9] 长度为 2。
|
36 | 31 | </pre>
|
37 | 32 |
|
38 | 33 | <p><strong>示例 3:</strong></p>
|
39 | 34 |
|
40 | 35 | <pre>
|
41 |
| -<strong>输入:</strong>A = [2,1,5,6,0,9,5,0,3,8], L = 4, M = 3 |
| 36 | +<strong>输入:</strong>nums = [2,1,5,6,0,9,5,0,3,8], firstLen = 4, secondLen = 3 |
42 | 37 | <strong>输出:</strong>31
|
43 |
| -<strong>解释:</strong>子数组的一种选择中,[5,6,0,9] 长度为 4,[0,3,8] 长度为 3。</pre> |
| 38 | +<strong>解释:</strong>子数组的一种选择中,[5,6,0,9] 长度为 4,[0,3,8] 长度为 3。 |
| 39 | +</pre> |
44 | 40 |
|
45 | 41 | <p> </p>
|
46 | 42 |
|
47 | 43 | <p><strong>提示:</strong></p>
|
48 | 44 |
|
49 | 45 | <ul>
|
50 |
| - <li><code>L >= 1</code></li> |
51 |
| - <li><code>M >= 1</code></li> |
52 |
| - <li><code>L + M <= A.length <= 1000</code></li> |
53 |
| - <li><code>0 <= A[i] <= 1000</code></li> |
| 46 | + <li><code>1 <= firstLen, secondLen <= 1000</code></li> |
| 47 | + <li><code>2 <= firstLen + secondLen <= 1000</code></li> |
| 48 | + <li><code>firstLen + secondLen <= nums.length <= 1000</code></li> |
| 49 | + <li><code>0 <= nums[i] <= 1000</code></li> |
54 | 50 | </ul>
|
55 | 51 |
|
56 | 52 | ## 解法
|
|
0 commit comments