Skip to content

Commit 464add1

Browse files
authored
Update 1186-maximum-subarray-sum-with-one-deletion.js
1 parent 674cce0 commit 464add1

File tree

1 file changed

+26
-0
lines changed

1 file changed

+26
-0
lines changed

1186-maximum-subarray-sum-with-one-deletion.js

+26
Original file line numberDiff line numberDiff line change
@@ -14,3 +14,29 @@ const maximumSum = function(arr) {
1414
}
1515
return best
1616
}
17+
18+
// another
19+
20+
/**
21+
* @param {number[]} arr
22+
* @return {number}
23+
*/
24+
const maximumSum = function (arr) {
25+
const n = arr.length
26+
let max = arr[0]
27+
const maxEndAt = Array(n), maxStartAt = Array(n)
28+
maxEndAt[0] = arr[0]
29+
for(let i = 1; i < n; i++) {
30+
maxEndAt[i] = Math.max(arr[i], maxEndAt[i - 1] + arr[i])
31+
max = Math.max(max, maxEndAt[i])
32+
}
33+
maxStartAt[n - 1] = arr[n - 1]
34+
for(let i = n - 2; i >= 0; i--) {
35+
maxStartAt[i] = Math.max(arr[i], maxStartAt[i + 1] + arr[i])
36+
}
37+
let res = Math.max(maxStartAt[0], maxEndAt[n - 1])
38+
for(let i = 1; i < n - 1; i++) {
39+
res = Math.max(max, res, maxEndAt[i - 1] + maxStartAt[i + 1])
40+
}
41+
return res
42+
}

0 commit comments

Comments
 (0)