Advertisement
K_S_

Untitled

Nov 23rd, 2019
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 0.82 KB | None | 0 0
  1. class Solution {
  2.     public int largestSumAfterKNegations(int[] A, int K) {
  3.         int k = K;
  4.         int[] a = A;
  5.  
  6.         Arrays.sort(a);
  7.  
  8.         int i = 0;
  9.         while (k > 0) {
  10.             if (a[i] <= 0) {
  11.                 a[i] = -a[i];
  12.                 i++;
  13.                 k--;
  14.             } else {
  15.                 break;
  16.             }
  17.         }
  18.  
  19.         int sum = 0;
  20.         for (int aa : a) {
  21.             sum += aa;
  22.         }
  23.  
  24.         if (k % 2 == 1) {
  25.             int min = 0;
  26.             if(i > 0) {
  27.                 min = Math.min(a[i-1], a[i]);
  28.                 if (i < a.length - 1) {
  29.                     min = Math.min(min, a[i + 1]);
  30.                 }
  31.             } else {
  32.                 min = a[i];
  33.             }
  34.             sum = sum - 2*min;
  35.         }
  36.  
  37.         return sum;
  38.     }
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement