码迷,mamicode.com
首页 > 其他好文 > 详细

[985] 令牌放置

时间:2019-03-08 09:24:49      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:判断   example   number   输出   示例   ase   ems   sub   []   

import java.util.List;

/*
 * @lc app=leetcode.cn id=985 lang=java
 *
 * [985] 令牌放置
 *
 * https://leetcode-cn.com/problems/sum-of-even-numbers-after-queries/description/
 *
 * algorithms
 * Easy (67.55%)
 * Total Accepted:    1.8K
 * Total Submissions: 2.7K
 * Testcase Example:  ‘[1,2,3,4]\n[[1,0],[-3,1],[-4,0],[2,3]]‘
 *
 * 给出一个整数数组 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。
 * 
 * 
 * 
 * 
 * 提示:
 * 
 * 
 * 1 <= A.length <= 10000
 * -10000 <= A[i] <= 10000
 * 1 <= queries.length <= 10000
 * -10000 <= queries[i][0] <= 10000
 * 0 <= queries[i][1] < A.length
 * 
 * 
 */
class Solution {
    public static int[] sumEvenAfterQueries(int[] A, int[][] queries) {
        List<Integer> list = new ArrayList<Integer>();

        if (A == null || A.length==0) {
            return null;
        }

        if (queries != null && queries.length>0) {
            for (int i=0;i<queries.length;i++) {
                int[] temp = queries[i];
                int value = temp[0];
                int index = temp[1];
                int a_val = A[index];
                int sum = value+a_val;
                A[index] = sum;//修改数组中的值
              //循环处理A数组
                int _sum = 0;
                for (int _i=0;_i<A.length;_i++) {
                    int num = A[_i];
                    if ((Math.abs(num))%2 == 0) {
                        _sum+=num;
                    }
                }
                list.add(_sum);
            }
        }
        


        return returnResult(list);



    }
    

    //封装返回的结果
    public static int[] returnResult(List<Integer> list){
        //首先边界判断
        if (list.size() == 0 || list == null) {
            return null;
        }
        int [] result = new int[list.size()];
        for (int i=0;i<list.size();i++) {
            result[i] = list.get(i);
        }
        return result;
    }









}

  

[985] 令牌放置

标签:判断   example   number   输出   示例   ase   ems   sub   []   

原文地址:https://www.cnblogs.com/airycode/p/10493662.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!