1049. 最后一块石头的重量 II
class Solution {
public:
int lastStoneWeightII(vector<int>& nums) {
int sum = 0;
for (int i = 0; i < nums.size(); i ++ ) {
sum += nums[i];
}
int target = sum >> 1;
vector<int> dp (1+target,0);
for (int i = 0; i < nums.size(); i ++ ) {
for (int j = target; j >= nums[i]; j -- ) {
dp[j] = max(dp[j],dp[j-nums[i]]+nums[i]);
}
}
return sum - dp[target]*2;
}
};