Leetcode 查詢後的偶數和

2021-09-26 23:24:21 字數 1138 閱讀 7934

給出乙個整數陣列 a 和乙個查詢陣列 queries。

對於第 i 次查詢,有 val = queries[i][0], index = queries[i][1],我們會把 val 加到 a[index] 上。然後,第 i 次查詢的答案是 a 中偶數值的和。

(此處給定的 index = queries[i][1] 是從 0 開始的索引,每次查詢都會永久修改陣列 a。)

返回所有查詢的答案。你的答案應當以陣列 answer 給出,answer[i] 為第 i 次查詢的答案。

示例:輸入:a = [1,2,3,4], queries = [[1,0],[-3,1],[-4,0],[2,3]]

輸出:[8,6,2,4]

解釋:開始時,陣列為 [1,2,3,4]。

將 1 加到 a[0] 上之後,陣列為 [2,2,3,4],偶數值之和為 2 + 2 + 4 = 8。

將 -3 加到 a[1] 上之後,陣列為 [2,-1,3,4],偶數值之和為 2 + 4 = 6。

將 -4 加到 a[0] 上之後,陣列為 [-2,-1,3,4],偶數值之和為 -2 + 4 = 2。

將 2 加到 a[3] 上之後,陣列為 [-2,-1,3,6],偶數值之和為 -2 + 6 = 4。

1 <= a.length <= 10000

-10000 <= a[i] <= 10000

1 <= queries.length <= 10000

-10000 <= queries[i][0] <= 10000

0 <= queries[i][1] < a.length

思路:直接暴力輪詢會超時(o(n2)), 採用累加法(o(n)),記錄第一次的結果,後面的結果在第一次的基礎上累加即可:

int* sumevenafterqueries(int* a, int asize, int** queries, int queriessize, int* queriescolsize, int* returnsize) else 

} else else

}a[queries[i][1]] += queries[i][0];

}*returnsize = queriessize;

return ret;

}

LeetCode985 查詢後的偶數和

給出乙個整數陣列a和乙個查詢陣列queries。對於第i次查詢,有val queries i 0 index queries i 1 我們會把val加到a index 上。然後,第i次查詢的答案是a中偶數值的和。此處給定的index queries i 1 是從 0 開始的索引,每次查詢都會永久修改...

LeetCode 985 查詢後的偶數和

鏈結 給出乙個整數陣列 a 和乙個查詢陣列 queries。對於第 i 次查詢,有 val queries i 0 index queries i 1 我們會把 val 加到 a index 上。然後,第 i 次查詢的答案是 a 中偶數值的和。返回所有查詢的答案 先執行更新陣列操作,然後對偶數求和,...

LeetCode 985 查詢後的偶數和

給出乙個整數陣列 a 和乙個查詢陣列 queries。對於第 i 次查詢,有 val queries i 0 index queries i 1 我們會把 val 加到 a index 上。然後,第 i 次查詢的答案是 a 中偶數值的和。此處給定的 index queries i 1 是從 0 開始...