首页 / JAVA / java查询后的偶数和
java查询后的偶数和
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java查询后的偶数和,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1735字,纯文字阅读大概需要3分钟。
内容图文
![java查询后的偶数和](/upload/InfoBanner/zyjiaocheng/612/621ce7179b694532bfe919905dca6beb.jpg)
问题描述
给出一个整数数组 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
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/sum-of-even-numbers-after-queries
解题思路
先创建一个answer数组,用于存放结果,在遍历一遍数组,
将所有偶数相加,和记做sum,然找要查询的索引记为index,
和要加的值val,如果这个索引对应的值为偶数,需要用sum
减去该值,即sum=sum-A[index],然后将该索引对应的值加
上val,即A[index]=A[index]+val,若改完后A[index]的值仍然
为偶数,则sum=sum-A[index],并将sum值存入answer数组中。
代码
class Solution {
public int[] sumEvenAfterQueries(int[] A, int[][] queries) {
int sum=0;//用于统计偶数和
int []answer=new int[A.length];//存放结果
//遍历数组A,求得所有偶数和
for(int x:A){
if((x&1)==0){
sum+=x;
}
}
int val,index;//存放索引和需要加的值
//遍历查询数组
for(int i=0;i<queries.length;i++){
val=queries[i][0];
index=queries[i][1];
//若索引对应的值为偶数,需要sum-A[index]
if((A[index]&1)==0){
sum-=A[index];
}
A[index]+=val;//修改值
//若修改后的值仍然为偶数,sum+=A[index];
if((A[index]&1)==0){
sum+=A[index];
}
answer[i]=sum;//将查询后的和存入answer中
}
return answer;
}
}
内容总结
以上是互联网集市为您收集整理的java查询后的偶数和全部内容,希望文章能够帮你解决java查询后的偶数和所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。