没有想到这种 k 大于数组长度的。
class Solution {
public:
int largestSumAfterKNegations(vector<int>& nums, int k) {
sort(nums.begin(), nums.end());
for (int i = 0; i < nums.size(); i++){
if (k > 0){
if (nums[i] < 0){
nums[i] = -nums[i];
k--;
}else if (nums[i] == 0){
k = 0;
}else {
sort(nums.begin(), nums.end());
break;
}
}else break;
}
sort(nums.begin(), nums.end());
while (k > 0){
nums[0] = -nums[0];
k--;
}
return accumulate(nums.begin(), nums.end(), 0);
}
};