Skip to content

Commit de5fb1f

Browse files
authored
Create 918-maximum-sum-circular-subarray.md
1 parent 91fa447 commit de5fb1f

File tree

1 file changed

+19
-0
lines changed

1 file changed

+19
-0
lines changed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
![alt text](https://github.com/everthis/leetcode-js/blob/master/images/maximum-sum-circular-subarray.png "maximum-sum-circular-subarray")
2+
3+
```js
4+
/**
5+
* @param {number[]} A
6+
* @return {number}
7+
*/
8+
const maxSubarraySumCircular = function(A) {
9+
let minSum = Infinity, sum = 0, maxSum = -Infinity, curMax = 0, curMin = 0
10+
for(let a of A) {
11+
sum += a
12+
curMax = Math.max(curMax + a, a);
13+
maxSum = Math.max(maxSum, curMax);
14+
curMin = Math.min(curMin + a, a);
15+
minSum = Math.min(minSum, curMin);
16+
}
17+
return maxSum > 0 ? Math.max(maxSum, sum - minSum) : maxSum;
18+
};
19+
```

0 commit comments

Comments
 (0)