D48985.SumofEvenNumbersAfterQueries题目链接985.SumofEvenNumbersAfterQueries题目分析给定一个初始数组A,然后给定一个第二维数组操作数数组Q。操作数数组中的每个值都是一个数组。它的第一个值表示要添加的数字。第二个值表示数组A中要运算的数的下标,即A[Q[0]需要加上A[Q[1]]。result中第i个元素的结果为执行第i步时数组A中偶数个元素的和。这道题的思路是,如果每一步都有array_sum,那么时间开销会非常大,所以采用的解法是先计算初始数组中偶数的和。然后在每一步计算的过程中,判断当前位置是否为偶数。如果是偶数,说明一开始已经计算了偶数和,所以从偶数和中减去。添加第0个元素后判断是否为偶数。如果是,请添加到偶数和。修改原来的数组A以供后面的计算。记录每一步的偶数和,以便最后返回。最终代码($A,函数($val){返回$val%2==0;});$total=array_sum($evens);$总和=[];foreach($queriesas$query){如果($A[$query[1]]%2==0){$total-=$A[$query[1]];}if(($A[$query[1]]+$query[0])%2==0){$total+=$query[0]+$A[$query[1]];}$总和[]=$总计;$A[$query[1]]+=$query[0];}返回$总和;}}如果您觉得本文对您有用,欢迎用爱心募捐。
