首页 > 其他分享 >堆:剑指 Offer 41. 数据流中的中位数

堆:剑指 Offer 41. 数据流中的中位数

时间:2023-04-11 15:44:11浏览次数:42  
标签:Offer 中位数 数值 41 数据流 数据结构

题目描述:

如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。

例如,

[2,3,4] 的中位数是 3

[2,3] 的中位数是 (2 + 3) / 2 = 2.5

设计一个支持以下两种操作的数据结构:

  •void addNum(int num) - 从数据流中添加一个整数到数据结构中。
  •double findMedian() - 返回目前所有元素的中位数

 

标签:Offer,中位数,数值,41,数据流,数据结构
From: https://www.cnblogs.com/zhz123567/p/17306465.html

相关文章

  • 【剑指 Offer】 15. 二进制中1的个数
    【题目】编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为'1'的个数(也被称为汉明重量).)。 提示:   请注意,在某些语言(如Java)中,没有无符号整数类型。在这种情况下,输入和输出都将被指定为有符号整数类型,并且不应影响您的实现,因为无论整数是......
  • 迅为4412开发板Qt 界面切换
    本节通过实验介绍通过创建窗口对象的方式实现界面切换:步骤一:在主界面ui文件添加pushButton按钮,然后新建一个窗口,工程下创建新的Qt设计师界面类,如图:我们选择Widget,用户可以根据需要选择,然后输入类名windowRun。创建完成后如图:步骤二:关联ui界面的pushButton的clicked()......
  • 【剑指 Offer】 33. 二叉搜索树的后序遍历序列
    【题目】输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。 参考以下这颗二叉搜索树:    5   /\  2  6 /\ 1  3示例1:输入:[1,6,3,2,5]输出:false示例2:输入:......
  • 每日学习记录20230410_Bert
    20230410:BertHuggingface今天运行python-c'fromtransformersimportTFBertForTokenClassification'的时候有一个报错:Couldnotloaddynamiclibrary'libcudart.so.11.0'.查了一下发现是需要装CUDA软件,也就是英伟达调用GPU的软件,使用:condainstallcudatoolkit命......
  • 20230410 训练记录:最小瓶颈路 / lca
    初识最小瓶颈路其实是上海那道著名的铜牌题,其次就是P1396营救。P1967[NOIP2013提高组]货车运输/最小瓶颈路https://www.luogu.com.cn/problem/P1967\(\mathcalO(m\logm+(n+q)\logn)\)最大生成树(森林)两点间最小边权,直接在倍增lca向上爬的时候更新答案。问......
  • 剑指offer38(Java)-字符串的排列(中等)
    题目:输入一个字符串,打印出该字符串中字符的所有排列。你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例:输入:s="abc"输出:["abc","acb","bac","bca","cab","cba"] 限制:1<=s的长度<=8来源:力扣(LeetCode)链接:https://leetcode.cn/pr......
  • 用 Go 剑指 Offer 12. 矩阵中的路径
    给定一个 mxn二维字符网格 board和一个字符串单词 word。如果 word存在于网格中,返回true;否则,返回false。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 例如,......
  • 用 Go 剑指 offer:面试题61. 扑克牌中的顺子
    从若干副扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为0,可以看成任意数字。A不能视为14。 示例 1:输入:[1,2,3,4,5]输出:True 示例 2:输入:[0,0,1,2,5]输出:True 限制:数组长度为5 数组的......
  • 用 Go 剑指 Offer 57. 和为s的两个数字 (双指针)
    输入一个递增排序的数组和一个数字s,在数组中查找两个数,使得它们的和正好是s。如果有多对数字的和等于s,则输出任意一对即可。 示例1:输入:nums=[2,7,11,15],target=9输出:[2,7]或者[7,2]示例2:输入:nums=[10,26,30,31,47,60],target=40输出:[10,30]或者[30,10] 限......
  • 用 Go 剑指 Offer 39. 数组中出现次数超过一半的数字 (摩尔投票)
    数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 //若不存在多数元素,本题就需要计数并判断示例 1:输入:[1,2,3,2,2,2,5,4,2]输出:2 限制:1<=数组长度<=50000来源:力扣(LeetCode)链......