diff --git a/problems/1049.最后一块石头的重量II.md b/problems/1049.最后一块石头的重量II.md index 25299f14..795d923c 100644 --- a/problems/1049.最后一块石头的重量II.md +++ b/problems/1049.最后一块石头的重量II.md @@ -219,7 +219,28 @@ func max(a, b int) int { } ``` +JavaScript版本 +```javascript +/** + * @param {number[]} stones + * @return {number} + */ +var lastStoneWeightII = function (stones) { + let sum = stones.reduce((s, n) => s + n); + + let dpLen = Math.floor(sum / 2); + let dp = new Array(dpLen + 1).fill(0); + + for (let i = 0; i < stones.length; ++i) { + for (let j = dpLen; j >= stones[i]; --j) { + dp[j] = Math.max(dp[j], dp[j - stones[i]] + stones[i]); + } + } + + return sum - dp[dpLen] - dp[dpLen]; +}; +``` ----------------------- * 作者微信:[程序员Carl](https://mp.weixin.qq.com/s/b66DFkOp8OOxdZC_xLZxfw)