Skip to content

Commit b2d5668

Browse files
authored
Create 918-maximum-sum-circular-subarray.js
1 parent b598d06 commit b2d5668

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

918-maximum-sum-circular-subarray.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
* @param {number[]} A
3+
* @return {number}
4+
*/
5+
const maxSubarraySumCircular = function(A) {
6+
let total = 0, maxSum = -30000, curMax = 0, minSum = 30000, curMin = 0;
7+
for (let a of A) {
8+
curMax = Math.max(curMax + a, a);
9+
maxSum = Math.max(maxSum, curMax);
10+
curMin = Math.min(curMin + a, a);
11+
minSum = Math.min(minSum, curMin);
12+
total += a;
13+
}
14+
return maxSum > 0 ? Math.max(maxSum, total - minSum) : maxSum;
15+
}

0 commit comments

Comments
 (0)