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)/最高频率的 ID [most-frequent-ids].html

52 lines
2.9 KiB
HTML
Raw Normal View History

2024-03-28 09:27:27 +08:00
<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>