2
* @param {number[]} piles5
var stoneGameII = function (piles) {7
const dp = new Array(101).fill(0).map(() => new Array(201).fill(0));8
for (let i = 0; i < piles.length; i++) {11
let diff = help(0, 1, piles, dp);12
return (sum + diff) / 2;15
function help(i, M, piles, dp) {16
if (i >= piles.length) return 0;17
if (dp[i][M] != 0) return dp[i][M];19
let ans = Number.MIN_SAFE_INTEGER;20
for (let j = 0; j < 2 * M; j++) {21
if (i + j < piles.length) total += piles[i + j];22
ans = Math.max(ans, total - help(i + j + 1, Math.max(M, j + 1), piles, dp));