1
0
mirror of https://gitee.com/coder-xiaomo/leetcode-problemset synced 2025-01-10 18:48:13 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee
leetcode-problemset/leetcode-cn/problem (Chinese)/最高频率的 ID [most-frequent-ids].html
2024-03-28 09:27:27 +08:00

52 lines
2.9 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<p>你需要在一个集合里动态记录 ID 的出现频率。给你两个长度都为 <code>n</code>&nbsp;的整数数组&nbsp;<code>nums</code>&nbsp;<code>freq</code>&nbsp;<code>nums</code>&nbsp;中每一个元素表示一个 ID ,对应的 <code>freq</code>&nbsp;中的元素表示这个 ID 在集合中此次操作后需要增加或者减少的数目。</p>
<ul>
<li><strong>增加 ID 的数目:</strong>如果&nbsp;<code>freq[i]</code>&nbsp;是正数,那么&nbsp;<code>freq[i]</code>&nbsp;个 ID 为&nbsp;<code>nums[i]</code>&nbsp;的元素在第 <code>i</code>&nbsp;步操作后会添加到集合中。</li>
<li><strong>减少 ID 的数目:</strong>如果&nbsp;<code>freq[i]</code>&nbsp;是负数,那么&nbsp;<code>-freq[i]</code>&nbsp;个 ID 为&nbsp;<code>nums[i]</code>&nbsp;的元素在第 <code>i</code>&nbsp;步操作后会从集合中删除。</li>
</ul>
<p>请你返回一个长度为 <code>n</code>&nbsp;的数组 <code>ans</code>&nbsp;,其中&nbsp;<code>ans[i]</code>&nbsp;表示第 <code>i</code>&nbsp;步操作后出现频率最高的 ID <strong>数目</strong>&nbsp;,如果在某次操作后集合为空,那么 <code>ans[i]</code>&nbsp;为 0 。</p>
<p>&nbsp;</p>
<p><strong class="example">示例 1</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>nums = [2,3,2,1], freq = [3,2,-3,1]</span></p>
<p><span class="example-io"><b>输出:</b>[3,3,2,2]</span></p>
<p><strong>解释:</strong></p>
<p>第 0 步操作后,有 3 个 ID 为 2 的元素,所以&nbsp;<code>ans[0] = 3</code>&nbsp;<br />
第 1 步操作后,有 3 个 ID 为 2 的元素和 2 个 ID 为 3 的元素,所以&nbsp;<code>ans[1] = 3</code>&nbsp;<br />
第 2 步操作后,有 2 个 ID 为 3 的元素,所以&nbsp;<code>ans[2] = 2</code>&nbsp;<br />
第 3 步操作后,有 2 个 ID 为 3 的元素和 1 个 ID 为 1 的元素,所以&nbsp;<code>ans[3] = 2</code>&nbsp;</p>
</div>
<p><strong class="example">示例 2</strong></p>
<div class="example-block">
<p><span class="example-io"><b>输入:</b>nums = [5,5,3], freq = [2,-2,1]</span></p>
<p><span class="example-io"><b>输出:</b>[2,0,1]</span></p>
<p><strong>解释:</strong></p>
<p>第 0 步操作后,有 2 个 ID 为 5 的元素,所以&nbsp;<code>ans[0] = 2</code>&nbsp;<br />
第 1 步操作后,集合中没有任何元素,所以&nbsp;<code>ans[1] = 0</code>&nbsp;<br />
第 2 步操作后,有 1 个 ID 为 3 的元素,所以&nbsp;<code>ans[2] = 1</code>&nbsp;</p>
</div>
<p>&nbsp;</p>
<p><strong>提示:</strong></p>
<ul>
<li><code>1 &lt;= nums.length == freq.length &lt;= 10<sup>5</sup></code></li>
<li><code>1 &lt;= nums[i] &lt;= 10<sup>5</sup></code></li>
<li><code>-10<sup>5</sup> &lt;= freq[i] &lt;= 10<sup>5</sup></code></li>
<li><code>freq[i] != 0</code></li>
<li>输入保证任何操作后,集合中的元素出现次数不会为负数。</li>
</ul>