mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-01-10 18:48:13 +08:00
43 lines
2.3 KiB
HTML
43 lines
2.3 KiB
HTML
<p>给你两个下标从 <strong>0</strong> 开始的数组 <code>nums1</code> 和 <code>nums2</code> ,和一个二维数组 <code>queries</code> 表示一些操作。总共有 3 种类型的操作:</p>
|
||
|
||
<ol>
|
||
<li>操作类型 1 为 <code>queries[i] = [1, l, r]</code> 。你需要将 <code>nums1</code> 从下标 <code>l</code> 到下标 <code>r</code> 的所有 <code>0</code> 反转成 <code>1</code> 并且所有 <code>1</code> 反转成 <code>0</code> 。<code>l</code> 和 <code>r</code> 下标都从 <strong>0</strong> 开始。</li>
|
||
<li>操作类型 2 为 <code>queries[i] = [2, p, 0]</code> 。对于 <code>0 <= i < n</code> 中的所有下标,令 <code>nums2[i] = nums2[i] + nums1[i] * p</code> 。</li>
|
||
<li>操作类型 3 为 <code>queries[i] = [3, 0, 0]</code> 。求 <code>nums2</code> 中所有元素的和。</li>
|
||
</ol>
|
||
|
||
<p>请你返回一个 <em>数组</em>,包含 <em>所有第三种操作类型 </em>的答案。</p>
|
||
|
||
<p> </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> </p>
|
||
|
||
<p><strong>提示:</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>
|