1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-11 02:58:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/更新数组后处理求和查询 [handling-sum-queries-after-update].html

43 lines
2.3 KiB
HTML
Raw Permalink Normal View History

2023-02-27 23:41:45 +08:00
<p>给你两个下标从 <strong>0</strong>&nbsp;开始的数组&nbsp;<code>nums1</code>&nbsp;<code>nums2</code>&nbsp;,和一个二维数组&nbsp;<code>queries</code>&nbsp;表示一些操作。总共有 3 种类型的操作:</p>
<ol>
2023-12-09 18:42:21 +08:00
<li>操作类型 1 为&nbsp;<code>queries[i]&nbsp;= [1, l, r]</code>&nbsp;。你需要将 <code>nums1</code>&nbsp;从下标&nbsp;<code>l</code>&nbsp;到下标 <code>r</code>&nbsp;的所有 <code>0</code>&nbsp;反转成 <code>1</code> 并且所有&nbsp;<code>1</code>&nbsp;反转成 <code>0</code>&nbsp;<code>l</code>&nbsp;<code>r</code>&nbsp;下标都从 <strong>0</strong>&nbsp;开始。</li>
2023-02-27 23:41:45 +08:00
<li>操作类型 2 为&nbsp;<code>queries[i]&nbsp;= [2, p, 0]</code>&nbsp;。对于&nbsp;<code>0 &lt;= i &lt; n</code>&nbsp;中的所有下标,令&nbsp;<code>nums2[i] =&nbsp;nums2[i]&nbsp;+ nums1[i]&nbsp;* p</code>&nbsp;</li>
<li>操作类型 3 为&nbsp;<code>queries[i]&nbsp;= [3, 0, 0]</code>&nbsp;。求&nbsp;<code>nums2</code>&nbsp;中所有元素的和。</li>
</ol>
2023-12-09 18:42:21 +08:00
<p>请你返回一个&nbsp;<em>数组</em>,包含&nbsp;<em>所有第三种操作类型&nbsp;</em>的答案。</p>
2023-02-27 23:41:45 +08:00
<p>&nbsp;</p>
<p><strong>示例 1</strong></p>
<pre>
<b>输入:</b>nums1 = [1,0,1], nums2 = [0,0,0], queries = [[1,1,1],[2,1,0],[3,0,0]]
<b>输出:</b>[3]
<strong>解释:</strong>第一个操作后 nums1 变为 [1,1,1] 。第二个操作后nums2 变成 [1,1,1] ,所以第三个操作的答案为 3 。所以返回 [3] 。
</pre>
<p><strong>示例 2</strong></p>
<pre>
<b>输入:</b>nums1 = [1], nums2 = [5], queries = [[2,0,0],[3,0,0]]
<b>输出:</b>[5]
<b>解释:</b>第一个操作后nums2 保持不变为 [5] ,所以第二个操作的答案是 5 。所以返回 [5] 。
</pre>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= nums1.length,nums2.length &lt;= 10<sup>5</sup></code></li>
<li><code>nums1.length = nums2.length</code></li>
<li><code>1 &lt;= queries.length &lt;= 10<sup>5</sup></code></li>
<li><code>queries[i].length = 3</code></li>
<li><code>0 &lt;= l &lt;= r &lt;= nums1.length - 1</code></li>
<li><code>0 &lt;= p &lt;= 10<sup>6</sup></code></li>
<li><code>0 &lt;= nums1[i] &lt;= 1</code></li>
<li><code>0 &lt;= nums2[i] &lt;= 10<sup>9</sup></code></li>
</ul>