Class Solution
-
- All Implemented Interfaces:
public final class Solution3410 - Maximize Subarray Sum After Removing All Occurrences of One Element.
Hard
You are given an integer array
nums.You can do the following operation on the array at most once:
Choose any integer
xsuch thatnumsremains non-empty on removing all occurrences ofx.Remove all occurrences of
xfrom the array.
Return the maximum subarray sum across all possible resulting arrays.
A subarray is a contiguous non-empty sequence of elements within an array.
Example 1:
Input: nums = -3,2,-2,-1,3,-2,3
Output: 7
Explanation:
We can have the following arrays after at most one operation:
The original array is <code>nums = -3, 2, -2, -1, <ins> **3, -2, 3** </ins></code>. The maximum subarray sum is
3 + (-2) + 3 = 4.Deleting all occurences of
x = -3results in <code>nums = 2, -2, -1, **<ins>3, -2, 3</ins>** </code>. The maximum subarray sum is3 + (-2) + 3 = 4.Deleting all occurences of
x = -2results in <code>nums = -3, **<ins>2, -1, 3, 3</ins>** </code>. The maximum subarray sum is2 + (-1) + 3 + 3 = 7.Deleting all occurences of
x = -1results in <code>nums = -3, 2, -2, **<ins>3, -2, 3</ins>** </code>. The maximum subarray sum is3 + (-2) + 3 = 4.Deleting all occurences of
x = 3results in <code>nums = -3, <ins> **2** </ins>, -2, -1, -2</code>. The maximum subarray sum is 2.
The output is
max(4, 4, 7, 4, 2) = 7.Example 2:
Input: nums = 1,2,3,4
Output: 10
Explanation:
It is optimal to not perform any operations.
Constraints:
<code>1 <= nums.length <= 10<sup>5</sup></code>
<code>-10<sup>6</sup><= numsi<= 10<sup>6</sup></code>
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final LongmaxSubarraySum(IntArray nums)-
-
Method Detail
-
maxSubarraySum
final Long maxSubarraySum(IntArray nums)
-
-
-
-