Class Solution
-
- All Implemented Interfaces:
public final class Solution918 - Maximum Sum Circular Subarray.
Medium
Given a circular integer array
numsof lengthn, return the maximum possible sum of a non-empty subarray ofnums.A circular array means the end of the array connects to the beginning of the array. Formally, the next element of
nums[i]isnums[(i + 1) % n]and the previous element ofnums[i]isnums[(i - 1 + n) % n].A subarray may only include each element of the fixed buffer
numsat most once. Formally, for a subarraynums[i], nums[i + 1], ..., nums[j], there does not existi <= k1,k2 <= jwithk1 % n == k2 % n.Example 1:
Input: nums = 1,-2,3,-2
Output: 3
Explanation: Subarray 3 has maximum sum 3.
Example 2:
Input: nums = 5,-3,5
Output: 10
Explanation: Subarray 5,5 has maximum sum 5 + 5 = 10.
Example 3:
Input: nums = -3,-2,-3
Output: -2
Explanation: Subarray -2 has maximum sum -2.
Constraints:
n == nums.length<code>1 <= n <= 3 * 10<sup>4</sup></code>
<code>-3 * 10<sup>4</sup><= numsi<= 3 * 10<sup>4</sup></code>
-
-
Constructor Summary
Constructors Constructor Description Solution()
-
Method Summary
Modifier and Type Method Description final IntegermaxSubarraySumCircular(IntArray nums)-
-
Method Detail
-
maxSubarraySumCircular
final Integer maxSubarraySumCircular(IntArray nums)
-
-
-
-