首页 > 其他 > 详细

985. Sum of Even Numbers After Queries

时间:2020-07-01 18:30:31      阅读:54      评论:0      收藏:0      [点我收藏+]

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.

有一个数组A,和一个query数组,每次query,会在数组A下标为query[i][1]的地方加上query[i][0],然后统计下偶数的和。

n2 可以每次query之后重新求一次偶数和

min(m,n)的方法是一开始就统计好偶数和,然后根据query的值和原始值的加和得到的数的奇偶来判断这个和应该加减多少。

value = query[i][0], index = query[i][1]

如果A[index] 是奇数,相加后的数变成偶数了,那就可以给加这个偶数否则就没有变化

如果A[index]是偶数,相加后的数还是偶数,那就加上这个value,否则减去A[index]

class Solution(object):
    def sumEvenAfterQueries(self, A, queries):
        """
        :type A: List[int]
        :type queries: List[List[int]]
        :rtype: List[int]
        """
        even_sum = 0
        ans = []
        for value in A:
            if value % 2 == 0:
                even_sum += value
        for query in queries:
            value = query[0]
            index = query[1]
            if A[index] % 2 == 0:
                if (A[index] + value) % 2 == 0:
                    even_sum += value
                else:
                    even_sum -= A[index]
                A[index] += value
            else:
                if (A[index] + value) % 2 == 0:
                    even_sum += A[index] + value
                else:
                    pass
                A[index] += value
            ans.append(even_sum)
        return ans

 

985. Sum of Even Numbers After Queries

原文:https://www.cnblogs.com/whatyouthink/p/13220464.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!