diff --git a/problems/1005.K次取反后最大化的数组和.md b/problems/1005.K次取反后最大化的数组和.md index 09ff38e9..08848a01 100644 --- a/problems/1005.K次取反后最大化的数组和.md +++ b/problems/1005.K次取反后最大化的数组和.md @@ -190,23 +190,23 @@ func largestSumAfterKNegations(nums []int, K int) int { ### Javascript ```Javascript var largestSumAfterKNegations = function(nums, k) { - nums.sort((a, b) => { - return Math.abs(b) - Math.abs(a) - }) - for(let i = 0; i < nums.length; i++) { - if(nums[i] < 0 && k > 0) { - nums[i] *= -1 - k-- + + nums.sort((a,b) => Math.abs(b) - Math.abs(a)) + + for(let i = 0 ;i < nums.length; i++){ + if(nums[i] < 0 && k > 0){ + nums[i] = - nums[i]; + k--; } } - if(k > 0 && k % 2 === 1) { - nums[nums.length - 1] *= -1 + // 若k还大于0,则寻找最小的数进行不断取反 + while( k > 0 ){ + nums[nums.length-1] = - nums[nums.length-1] + k--; } - k = 0 - return nums.reduce((a, b) => { - return a + b + a + b }) };