添加1049.最后一块石头的重量II Go版本

This commit is contained in:
zhangzw
2021-06-02 11:49:59 +08:00
parent 7b3f8ea4dd
commit 9163ed6b65

View File

@ -191,7 +191,33 @@ class Solution:
```
Go
```go
func lastStoneWeightII(stones []int) int {
// 15001 = 30 * 1000 /2 +1
dp := make([]int, 15001)
// 求target
sum := 0
for _, v := range stones {
sum += v
}
target := sum / 2
// 遍历顺序
for i := 0; i < len(stones); i++ {
for j := target; j >= stones[i]; j-- {
// 推导公式
dp[j] = max(dp[j], dp[j-stones[i]]+stones[i])
}
}
return sum - 2 * dp[target]
}
func max(a, b int) int {
if a > b {
return a
}
return b
}
```