目录
题目1: 1005. K 次取反后最大化的数组和
- 题目链接:1005. K 次取反后最大化的数组和
1- 思路
贪心思路:
-
- 先对数组中的元素进行排序
-
- 遍历数组,如果
当前遍历的位置值 < 0 && k>0
直接变号,之后对k
进行--
- 遍历数组,如果
-
- 如果不小于
0
,此时需要先排序,判断 k 是否为奇数,如果是奇数直接对最小位进行取反
- 如果不小于
-
- 最终遍历数组求和
2- 题解
⭐ K 次取反后最大化的数组和 ——题解思路
class Solution {
public int largestSumAfterKNegations(int[] nums, int k) {
Arrays.sort(nums);
for(int i = 0 ; i < nums.length;i++){
if(nums[i]<0 && k > 0){
nums[i] = -nums[i];
k--;
}
}
Arrays.sort