【leetcode】查询后的偶数和

int* sumEvenAfterQueries(int* A, int ASize, int** queries, int queriesSize, int* queriesColSize, int* returnSize){
    int* answer = (int*)calloc(queriesSize,sizeof(int));
    int SumEven = 0;
    for (int k=0; k<ASize; k++) //先求出A中的偶数和
    {
        if (A[k] % 2 == 0) 
        {
            SumEven += A[k];
        }
    }
    for (int i=0; i<queriesSize; i++)
    {
        if (A[queries[i][1]] % 2 == 0) //根据当前遍历的数奇偶情况进行处理
        {
            SumEven-= A[queries[i][1]];
        }
        A[queries[i][1]] += queries[i][0];
        if (A[queries[i][1]] % 2 == 0) //根据当前遍历的数奇偶情况进行处理
        {
            SumEven+= A[queries[i][1]];
        }
        answer[i] = SumEven;
    }
    *returnSize = queriesSize;
    return answer;
}
原文地址:https://www.cnblogs.com/ganxiang/p/13606676.html