Skip to content

Commit e240cda

Browse files
authored
Update 3077-maximum-strength-of-k-disjoint-subarrays.js
1 parent 2860ff3 commit e240cda

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

3077-maximum-strength-of-k-disjoint-subarrays.js

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,33 @@ const maximumStrength = function(nums, k) {
2323
};
2424

2525

26+
// another
27+
28+
/**
29+
* @param {number[]} nums
30+
* @param {number} k
31+
* @return {number}
32+
*/
33+
const maximumStrength = function(nums, k) {
34+
let dp = new Array(k + 1).fill(0).map(() => new Array(nums.length + 1).fill(0));
35+
36+
for (let i = 1; i <= k; i++) {
37+
let maxSum = Number.MIN_SAFE_INTEGER / 2;
38+
let curr = Number.MIN_SAFE_INTEGER / 2;
39+
let multiplier = (i % 2 === 1) ? (k + 1 - i) : (i - 1 - k);
40+
41+
for (let j = i - 1; j < nums.length; j++) {
42+
curr = Math.max(curr + nums[j] * multiplier, dp[i - 1][j] + nums[j] * multiplier);
43+
maxSum = Math.max(maxSum, curr);
44+
dp[i][j + 1] = maxSum;
45+
}
46+
}
47+
48+
return dp[k][nums.length];
49+
};
50+
51+
52+
2653
// another
2754

2855
let pre = Array(10001).fill(0);

0 commit comments

Comments
 (0)