【leetcode】K 次取反后最大化的数组和

int cmp(const void* a, const void* b){
    return abs(*(int*)b) - abs(*(int*)a);
}
int largestSumAfterKNegations(int* A, int ASize, int K){
    int i,sum=0;
    qsort(A,ASize,sizeof(int),cmp);
    for (i=0; i<ASize; i++)
    {
        if (K && A[i] < 0) 
        {
            A[i] *= -1;
            K--;
        }
        sum+=A[i];
    }
    return (K % 2)? sum - 2*A[ASize-1] : sum;
}
原文地址:https://www.cnblogs.com/ganxiang/p/13699280.html