Update 1005.K次取反后最大化的数组和.md

js 版本,更容易理解,并且用了js es6的语法进行了微调
This commit is contained in:
大眼睛图图
2022-10-25 09:22:21 +08:00
committed by GitHub
parent 8193870813
commit 03b37fee5e

View File

@ -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
})
};