本文主要是介绍《LeetCode力扣练习》代码随想录——贪心算法(K次取反后最大化的数组和---Java),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
《LeetCode力扣练习》代码随想录——贪心算法(K次取反后最大化的数组和—Java)
刷题思路来源于 代码随想录
1005. K 次取反后最大化的数组和
-
贪心
class Solution {public int largestSumAfterKNegations(int[] nums, int k) {nums = Arrays.stream(nums).boxed().sorted(new Comparator<Integer>() {@Overridepublic int compare(Integer o1, Integer o2) {return Math.abs(o2) - Math.abs(o1);}}).mapToInt(Integer::intValue).toArray();for (int i = 0; i < nums.length; i++) {if (k == 0) {break;}if (nums[i] < 0 && k > 0) {nums[i] = 0 - nums[i];k--;}}if (k % 2 == 1) {nums[nums.length - 1] = 0 - nums[nums.length - 1];}return Arrays.stream(nums).sum();} }
这篇关于《LeetCode力扣练习》代码随想录——贪心算法(K次取反后最大化的数组和---Java)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!