加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[Swift Weekly Contest 122]LeetCode985. 查询后的偶数和 | Sum

发布时间:2020-12-14 05:04:39 所属栏目:百科 来源:网络整理
导读: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 . (He

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. 1 <= A.length <= 10000
  2. -10000 <= A[i] <= 10000
  3. 1 <= queries.length <= 10000
  4. -10000 <= queries[i][0] <= 10000
  5. 0 <= queries[i][1] < A.length

给出一个整数数组?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,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. 1 <= A.length <= 10000
  2. -10000 <= A[i] <= 10000
  3. 1 <= queries.length <= 10000
  4. -10000 <= queries[i][0] <= 10000
  5. 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 }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读