Class Solution
java.lang.Object
g2501_2600.s2569_handling_sum_queries_after_update.Solution
2569 - Handling Sum Queries After Update.<p>Hard</p>
<p>You are given two <strong>0-indexed</strong> arrays <code>nums1</code> and <code>nums2</code> and a 2D array <code>queries</code> of queries. There are three types of queries:</p>
<ol>
<li>For a query of type 1, <code>queries[i] = [1, l, r]</code>. Flip the values from <code>0</code> to <code>1</code> and from <code>1</code> to <code>0</code> in <code>nums1</code> from index <code>l</code> to index <code>r</code>. Both <code>l</code> and <code>r</code> are <strong>0-indexed</strong>.</li>
<li>For a query of type 2, <code>queries[i] = [2, p, 0]</code>. For every index <code>0 <= i < n</code>, set <code>nums2[i] = nums2[i] + nums1[i] * p</code>.</li>
<li>For a query of type 3, <code>queries[i] = [3, 0, 0]</code>. Find the sum of the elements in <code>nums2</code>.</li>
</ol>
<p>Return <em>an array containing all the answers to the third type queries.</em></p>
<p><strong>Example 1:</strong></p>
<p><strong>Input:</strong> nums1 = [1,0,1], nums2 = [0,0,0], queries = [[1,1,1],[2,1,0],[3,0,0]]</p>
<p><strong>Output:</strong> [3]</p>
<p><strong>Explanation:</strong> After the first query nums1 becomes [1,1,1]. After the second query, nums2 becomes [1,1,1], so the answer to the third query is 3. Thus, [3] is returned.</p>
<p><strong>Example 2:</strong></p>
<p><strong>Input:</strong> nums1 = [1], nums2 = [5], queries = [[2,0,0],[3,0,0]]</p>
<p><strong>Output:</strong> [5]</p>
<p><strong>Explanation:</strong> After the first query, nums2 remains [5], so the answer to the second query is 5. Thus, [5] is returned.</p>
<p><strong>Constraints:</strong></p>
<ul>
<li><code>1 <= nums1.length,nums2.length <= 10<sup>5</sup></code></li>
<li><code>nums1.length = nums2.length</code></li>
<li><code>1 <= queries.length <= 10<sup>5</sup></code></li>
<li><code>queries[i].length = 3</code></li>
<li><code>0 <= l <= r <= nums1.length - 1</code></li>
<li><code>0 <= p <= 10<sup>6</sup></code></li>
<li><code>0 <= nums1[i] <= 1</code></li>
<li><code>0 <= nums2[i] <= 10<sup>9</sup></code></li>
</ul>
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
Solution
public Solution()
-
-
Method Details
-
handleQuery
public long[] handleQuery(int[] nums1, int[] nums2, int[][] queries)
-