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)/数据流的中位数 [find-median-from-data-stream].html

46 lines
1.7 KiB
HTML
Raw Normal View History

2023-12-09 18:42:21 +08:00
<p><strong>中位数</strong>是有序整数列表中的中间值。如果列表的大小是偶数,则没有中间值,中位数是两个中间值的平均值。</p>
2022-03-27 20:56:26 +08:00
2023-12-09 18:42:21 +08:00
<ul>
<li>例如 <code>arr = [2,3,4]</code>&nbsp;的中位数是 <code>3</code>&nbsp;</li>
<li>例如&nbsp;<code>arr = [2,3]</code> 的中位数是 <code>(2 + 3) / 2 = 2.5</code></li>
</ul>
2022-03-27 20:56:26 +08:00
2023-12-09 18:42:21 +08:00
<p>实现 MedianFinder 类:</p>
2022-03-27 20:56:26 +08:00
<ul>
2023-12-09 18:42:21 +08:00
<li>
<p><code>MedianFinder() </code>初始化 <code>MedianFinder</code>&nbsp;对象。</p>
</li>
<li>
<p><code>void addNum(int num)</code> 将数据流中的整数 <code>num</code> 添加到数据结构中。</p>
</li>
<li>
<p><code>double findMedian()</code> 返回到目前为止所有元素的中位数。与实际答案相差&nbsp;<code>10<sup>-5</sup></code>&nbsp;以内的答案将被接受。</p>
</li>
2022-03-27 20:56:26 +08:00
</ul>
2023-12-09 18:42:21 +08:00
<p><strong>示例 1</strong></p>
2022-03-27 20:56:26 +08:00
2023-12-09 18:42:21 +08:00
<pre>
<strong>输入</strong>
["MedianFinder", "addNum", "addNum", "findMedian", "addNum", "findMedian"]
[[], [1], [2], [], [3], []]
<strong>输出</strong>
[null, null, null, 1.5, null, 2.0]
2022-03-27 20:56:26 +08:00
2023-12-09 18:42:21 +08:00
<strong>解释</strong>
MedianFinder medianFinder = new MedianFinder();
medianFinder.addNum(1); // arr = [1]
medianFinder.addNum(2); // arr = [1, 2]
medianFinder.findMedian(); // 返回 1.5 ((1 + 2) / 2)
medianFinder.addNum(3); // arr[1, 2, 3]
medianFinder.findMedian(); // return 2.0</pre>
2022-03-27 20:56:26 +08:00
2023-12-09 18:42:21 +08:00
<p><strong>提示:</strong></p>
<ul>
<li><code>-10<sup>5</sup>&nbsp;&lt;= num &lt;= 10<sup>5</sup></code></li>
<li>在调用 <code>findMedian</code>&nbsp;之前,数据结构中至少有一个元素</li>
<li>最多&nbsp;<code>5 * 10<sup>4</sup></code>&nbsp;次调用&nbsp;<code>addNum</code>&nbsp;&nbsp;<code>findMedian</code></li>
</ul>