From 03b37fee5e16163eb9ff17a9887764d6ba9665c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=A4=A7=E7=9C=BC=E7=9D=9B=E5=9B=BE=E5=9B=BE?= <108316255+L1Y1@users.noreply.github.com> Date: Tue, 25 Oct 2022 09:22:21 +0800 Subject: [PATCH] =?UTF-8?q?Update=201005.K=E6=AC=A1=E5=8F=96=E5=8F=8D?= =?UTF-8?q?=E5=90=8E=E6=9C=80=E5=A4=A7=E5=8C=96=E7=9A=84=E6=95=B0=E7=BB=84?= =?UTF-8?q?=E5=92=8C.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit js 版本,更容易理解,并且用了js es6的语法进行了微调 --- ...1005.K次取反后最大化的数组和.md | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/problems/1005.K次取反后最大化的数组和.md b/problems/1005.K次取反后最大化的数组和.md index 9d82bf9f..ed5d1509 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 }) };