mirror of
https://gitee.com/coder-xiaomo/leetcode-problemset
synced 2025-09-04 15:01:40 +08:00
114 lines
5.6 KiB
HTML
114 lines
5.6 KiB
HTML
<p>You are given an integer array <code>nums</code> of length <code>n</code> and an array <code>queries</code>, where <code>queries[i] = [l<sub>i</sub>, r<sub>i</sub>, threshold<sub>i</sub>]</code>.</p>
|
|
|
|
<p>Return an array of integers <code data-end="33" data-start="28">ans</code> where <code data-end="48" data-start="40">ans[i]</code> is equal to the element in the subarray <code data-end="102" data-start="89">nums[l<sub>i</sub>...r<sub>i</sub>]</code> that appears <strong>at least</strong> <code data-end="137" data-start="125">threshold<sub>i</sub></code> times, selecting the element with the <strong>highest</strong> frequency (choosing the <strong>smallest</strong> in case of a tie), or -1 if no such element <em>exists</em>.</p>
|
|
|
|
<p> </p>
|
|
<p><strong class="example">Example 1:</strong></p>
|
|
|
|
<div class="example-block">
|
|
<p><strong>Input:</strong> <span class="example-io">nums = [1,1,2,2,1,1], queries = [[0,5,4],[0,3,3],[2,3,2]]</span></p>
|
|
|
|
<p><strong>Output:</strong> <span class="example-io">[1,-1,2]</span></p>
|
|
|
|
<p><strong>Explanation:</strong></p>
|
|
|
|
<table style="border: 1px solid black;">
|
|
<thead>
|
|
<tr>
|
|
<th align="left" style="border: 1px solid black;">Query</th>
|
|
<th align="left" style="border: 1px solid black;">Sub-array</th>
|
|
<th align="left" style="border: 1px solid black;">Threshold</th>
|
|
<th align="left" style="border: 1px solid black;">Frequency table</th>
|
|
<th align="left" style="border: 1px solid black;">Answer</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td align="left" style="border: 1px solid black;">[0, 5, 4]</td>
|
|
<td align="left" style="border: 1px solid black;">[1, 1, 2, 2, 1, 1]</td>
|
|
<td align="left" style="border: 1px solid black;">4</td>
|
|
<td align="left" style="border: 1px solid black;">1 → 4, 2 → 2</td>
|
|
<td align="left" style="border: 1px solid black;">1</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="left" style="border: 1px solid black;">[0, 3, 3]</td>
|
|
<td align="left" style="border: 1px solid black;">[1, 1, 2, 2]</td>
|
|
<td align="left" style="border: 1px solid black;">3</td>
|
|
<td align="left" style="border: 1px solid black;">1 → 2, 2 → 2</td>
|
|
<td align="left" style="border: 1px solid black;">-1</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="left" style="border: 1px solid black;">[2, 3, 2]</td>
|
|
<td align="left" style="border: 1px solid black;">[2, 2]</td>
|
|
<td align="left" style="border: 1px solid black;">2</td>
|
|
<td align="left" style="border: 1px solid black;">2 → 2</td>
|
|
<td align="left" style="border: 1px solid black;">2</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<p><strong class="example">Example 2:</strong></p>
|
|
|
|
<div class="example-block">
|
|
<p><strong>Input:</strong> <span class="example-io">nums = [3,2,3,2,3,2,3], queries = [[0,6,4],[1,5,2],[2,4,1],[3,3,1]]</span></p>
|
|
|
|
<p><strong>Output:</strong> <span class="example-io">[3,2,3,2]</span></p>
|
|
|
|
<p><strong>Explanation:</strong></p>
|
|
|
|
<table style="border: 1px solid black;">
|
|
<thead>
|
|
<tr>
|
|
<th align="left" style="border: 1px solid black;">Query</th>
|
|
<th align="left" style="border: 1px solid black;">Sub-array</th>
|
|
<th align="left" style="border: 1px solid black;">Threshold</th>
|
|
<th align="left" style="border: 1px solid black;">Frequency table</th>
|
|
<th align="left" style="border: 1px solid black;">Answer</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
<tr>
|
|
<td align="left" style="border: 1px solid black;">[0, 6, 4]</td>
|
|
<td align="left" style="border: 1px solid black;">[3, 2, 3, 2, 3, 2, 3]</td>
|
|
<td align="left" style="border: 1px solid black;">4</td>
|
|
<td align="left" style="border: 1px solid black;">3 → 4, 2 → 3</td>
|
|
<td align="left" style="border: 1px solid black;">3</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="left" style="border: 1px solid black;">[1, 5, 2]</td>
|
|
<td align="left" style="border: 1px solid black;">[2, 3, 2, 3, 2]</td>
|
|
<td align="left" style="border: 1px solid black;">2</td>
|
|
<td align="left" style="border: 1px solid black;">2 → 3, 3 → 2</td>
|
|
<td align="left" style="border: 1px solid black;">2</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="left" style="border: 1px solid black;">[2, 4, 1]</td>
|
|
<td align="left" style="border: 1px solid black;">[3, 2, 3]</td>
|
|
<td align="left" style="border: 1px solid black;">1</td>
|
|
<td align="left" style="border: 1px solid black;">3 → 2, 2 → 1</td>
|
|
<td align="left" style="border: 1px solid black;">3</td>
|
|
</tr>
|
|
<tr>
|
|
<td align="left" style="border: 1px solid black;">[3, 3, 1]</td>
|
|
<td align="left" style="border: 1px solid black;">[2]</td>
|
|
<td align="left" style="border: 1px solid black;">1</td>
|
|
<td align="left" style="border: 1px solid black;">2 → 1</td>
|
|
<td align="left" style="border: 1px solid black;">2</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
|
|
<p> </p>
|
|
<p><strong>Constraints:</strong></p>
|
|
|
|
<ul>
|
|
<li data-end="51" data-start="19"><code data-end="49" data-start="19">1 <= nums.length == n <= 10<sup>4</sup></code></li>
|
|
<li data-end="82" data-start="54"><code data-end="80" data-start="54">1 <= nums[i] <= 10<sup>9</sup></code></li>
|
|
<li data-end="120" data-start="85"><code data-end="118" data-start="85">1 <= queries.length <= 5 * 10<sup>4</sup></code></li>
|
|
<li data-end="195" data-start="123"><code data-end="193" data-is-only-node="" data-start="155">queries[i] = [l<sub>i</sub>, r<sub>i</sub>, threshold<sub>i</sub>]</code></li>
|
|
<li data-end="221" data-start="198"><code data-end="219" data-start="198">0 <= l<sub>i</sub> <= r<sub>i</sub> < n</code></li>
|
|
<li data-end="259" data-is-last-node="" data-start="224"><code data-end="259" data-is-last-node="" data-start="224">1 <= threshold<sub>i</sub> <= r<sub>i</sub> - l<sub>i</sub> + 1</code></li>
|
|
</ul>
|