985. Sum of Even Numbers After Queries

 

Sum of Even Numbers After Queries

Sum of Even Numbers After Queries


You are given an integer array nums and array queries where queries[i] = [vali, indexi].

For each query i, first, apply nums[indexi] = nums[indexi] + vali, then print the sum of the even values of nums.

Return an integer array answer where answer[i] is the answer to the ith query.

Example 1:

Input: nums = [1,2,3,4], queries = [[1,0],[-3,1],[-4,0],[2,3]]
Output: [8,6,2,4]
Explanation: At the beginning, the array is [1,2,3,4].
After adding 1 to nums[0], the array is [2,2,3,4], and the sum of even values is 2 + 2 + 4 = 8.
After adding -3 to nums[1], the array is [2,-1,3,4], and the sum of even values is 2 + 4 = 6.
After adding -4 to nums[0], the array is [-2,-1,3,4], and the sum of even values is -2 + 4 = 2.
After adding 2 to nums[3], the array is [-2,-1,3,6], and the sum of even values is -2 + 6 = 4.


Example 2:

Input: nums = [1], queries = [[4,0]]
Output: [0]

 

Constraints:

  • 1 <= nums.length <= 104
  • -104 <= nums[i] <= 104
  • 1 <= queries.length <= 104
  • -104 <= vali <= 104
  • 0 <= indexi < nums.length

Idea:

  • Find the sum of all even #s;
  • For each query, check the item in A and the after added up value, 
  • if
    • If the item in A is even, deduct it from the sum
    • After adding up we have an even value, then add the new value to the sum


Let`s code it:

/**
 * @param {number[]} nums
 * @param {number[][]} queries
 * @return {number[]}
 */

const computeEvenSum = function(A) {
   let sum = A.filter(num => num % 2 == 0).reduce(
      (previousValue, currentValue) => previousValue + currentValue,
      0
    );
   return sum;
}

var sumEvenAfterQueries = function(nums, queries) {
    let result = new Array(nums.length);
    for (let i = 0; i < nums.length; i++) {
        let col = queries[i][1];
        nums[col] = nums[col] + queries[i][0];
        result[i] = computeEvenSum(nums);
    }
    return result;
};


Conclusion

That’s all folks! In this post, we solved LeetCode problem #985. Sum of Even Numbers After Queries

I hope you have enjoyed this post. Feel free to share your thoughts on this.

You can find the complete source code on my GitHub repository. If you like what you learn. feel free to fork 🔪 and star ⭐ it.


In this blog, I have tried to collect & present the most important points to consider when improving Data structure and logic, feel free to add, edit, comment, or ask. For more information please reach me here
Happy coding!


Comments

Popular Post