public int largestSumAfterKNegations(int[] nums, int k) {
IntStream stream = Arrays.stream(nums);
Stream<Integer> integerStream = stream.boxed();
Integer[] integers = integerStream.toArray(Integer[]::new);
Arrays.sort(integers,(a,b)->(Math.abs(b)-Math.abs(a)));
for(int i = 0; i< integers.length;i++){
if(integers[i]<0 && k>0 ){
integers[i] *= -1;
k--;
}
}
if(k%2 == 1){
integers[integers.length-1] *= -1;
}
int count = 0;
for(int i = 0;i<=integers.length -1;i++){
count += integers[i];
}
return count;
}
图一乐,学习了一下Arrays.sort的比较器, 比较器用了泛型所以只能把int数组转成Integer数组.其他的没什么
学无止境呀
就这样吧