We have an array A
of integers,and an array queries
of queries.
For the i
-th query val = queries[i][0],index = queries[i][1]
,we add val to A[index]
. Then,the answer to the i
-th query is the sum of the even values of A
.
(Here,the given index = queries[i][1]
is a 0-based index,and each query permanently modifies the array A
.)
Return the answer to all queries. Your answer
array should have answer[i]
as the answer to the i
-th query.
Example 1:
Input: A = [1,2,3,4],queries = [[1,0],[-3,1],[-4,[2,3]] Output: [8,6,4] Explanation: At the beginning,the array is [1,4]. After adding 1 to A[0],the array is [2,and the sum of even values is 2 + 2 + 4 = 8. After adding -3 to A[1],-1,and the sum of even values is 2 + 4 = 6. After adding -4 to A[0],the array is [-2,and the sum of even values is -2 + 4 = 2. After adding 2 to A[3],6],and the sum of even values is -2 + 6 = 4.
Note:
1 <= A.length <= 10000
-10000 <= A[i] <= 10000
1 <= queries.length <= 10000
-10000 <= queries[i][0] <= 10000
0 <= queries[i][1] < A.length
对于第 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,queries = [[1,3]] 输出:[8,4] 解释: 开始时,数组为 [1,4]。 将 1 加到 A[0] 上之后,数组为 [2,4],偶数值之和为 2 + 2 + 4 = 8。 将 -3 加到 A[1] 上之后,数组为 [2,4],偶数值之和为 2 + 4 = 6。 将 -4 加到 A[0] 上之后,数组为 [-2,4],偶数值之和为 -2 + 4 = 2。 将 2 加到 A[3] 上之后,数组为 [-2,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
772 ms
1 class Solution { 2 func sumEvenAfterQueries(_ A: [Int],_ queries: [[Int]]) -> [Int] { 3 var A = A 4 var s:Int = 0 5 for v in A 6 { 7 if v % 2 == 0 8 { 9 s += v 10 } 11 } 12 var q:Int = queries.count 13 var ret:[Int] = [Int](repeating:0,count:q) 14 for i in 0..<q 15 { 16 var d:Int = queries[i][0] 17 var pos:Int = queries[i][1] 18 if A[pos] % 2 == 0 19 { 20 s -= A[pos] 21 } 22 A[pos] += d 23 if A[pos] % 2 == 0 24 { 25 s += A[pos] 26 } 27 ret[i] = s 28 } 29 return ret 30 } 31 }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。