Class Solution
-
- All Implemented Interfaces:
public final class Solution
918 - Maximum Sum Circular Subarray.
Medium
Given a circular integer array
nums
of 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
nums
at most once. Formally, for a subarraynums[i], nums[i + 1], ..., nums[j]
, there does not existi <= k1
,k2 <= j
withk1 % 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 Integer
maxSubarraySumCircular(IntArray nums)
-
-
Method Detail
-
maxSubarraySumCircular
final Integer maxSubarraySumCircular(IntArray nums)
-
-
-
-