【LeetCode】剑指 Offer 41. 数据流中的中位数

文章目录

  • 【LeetCode】剑指 Offer 41. 数据流中的中位数

package offer;import java.util.PriorityQueue;
import java.util.Queue;public class Solution41 {public static void main(String[] args) {Solution41 solution = new Solution41();solution.addNum(1);solution.addNum(2);System.out.println(solution.findMedian());solution.addNum(3);System.out.println(solution.findMedian());}Queue<Integer> A,B;public Solution41(){A = new PriorityQueue<>();B = new PriorityQueue<>((x,y) -> (y - x));}public void addNum(int num){if(A.size() != B.size()){A.add(num);B.add(A.poll());}else{B.add(num);A.add(B.poll());}}public double findMedian(){return A.size() != B.size() ? A.peek() : (A.peek() + B.peek()) / 2.0;}
}

【LeetCode】剑指 Offer 41. 数据流中的中位数相关推荐

  1. 【LeetCode笔记】剑指Offer 41. 数据流中的中位数(Java、堆、优先队列、知识点)

    文章目录 题目描述 知识点 1. 优先队列 2. Java 中 queue 的 offer.poll 等区别 思路 && 代码 二刷 打卡第十一天- 题目描述 虽然但是,这是一道很ni ...

  2. 剑指offer:数据流中的中位数(小顶堆+大顶堆)

    1. 题目描述 /**如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的 ...

  3. 《剑指offer》数据流中的中位数

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

  4. 剑指offer之数据流中的中位数

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

  5. leetcode 剑指 Offer 03. 数组中重复的数字 抽屉原理 一个萝卜一个坑

    找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...

  6. 90. Leetcode 剑指 Offer 62. 圆圈中最后剩下的数字 (动态规划-基础题)

    步骤一.确定状态: 确定dp数组及含义 dp[i]表示的是i个数里面循环删除m个数剩下的数 步骤二.推断状态方程: 首先假设f(n,m)表示从n个数字0....n−1中每次删除第 m个数字之后剩下的数 ...

  7. Leetcode 剑指offer 22. 链表中第k个节点 (每日一题 20210716)

    输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有 6 个节点,从头节点开始,它们的值依次是 1.2.3.4.5.6. ...

  8. Leetcode 剑指 Offer 03. 数组中重复的数字 (每日一题 20210614)

    找出数组中重复的数字.在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复 ...

  9. leetcode 剑指 Offer 03. 数组中重复的数字

    找出数组中重复的数字. 在一个长度为 n 的数组 nums 里的所有数字都在 0-n-1 的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重 ...

最新文章

  1. nginx 添加自定义头部信息
  2. 如何构建高性能web站点之:分布式缓存
  3. 机器学习入门--进阶资料和流程建议
  4. git本地ben远程分支_Git本地分支和远程分支关联
  5. java中sql 语句格式转换_Java字符串转Sql语句In格式工具方法
  6. Spring Boot的优点入门
  7. win10自带抓包工具_win10应用商店抓包-Win10商店抓包工具下载 v1.1免费版--pc6下载站...
  8. php 简单聊天室 实例,PHP简易聊天室实例
  9. 使用F021_API_F2837xD_FPU32.lib 库函数遇到的问题 warning #10068-D: no matching section
  10. PyQt5入门(二十五)QSS(下)三种设置背景色和背景图片的方式
  11. 微信小程序开发常见问题解答
  12. 【PWN系列】2015-Defcon Qualifier R0pbaby
  13. 数组元素右移 c++实现
  14. python在excel中数据画线_python中操作excel数据
  15. 锚定一个点,然后在这个点上深耕
  16. 2014 年最热门的国人开发开源软件 TOP 100
  17. 解决|Adobe Reader XI软件打开后闪退问题
  18. android10 保存图片到系统相册,刷新媒体库
  19. Cisco实验-VTP基本使用
  20. 知识付费海哥|我的理想是不上班

热门文章

  1. 插入排序(边输边排)
  2. 简单的INSERT语句
  3. bzoj 4596: [Shoi2016]黑暗前的幻想乡
  4. Android开发手记(23) Notification
  5. 【TypeScript】TypeScript 学习 4——模块
  6. MFC:ID命名和数字约定
  7. windows下编译lua5.2
  8. 【Windows】线程漫谈——线程同步之信号量和互斥量
  9. void符合c语言用户标识吗,1以下可用作C语言用户标识符的是()。void,define,.doc...
  10. (23)FPGA加法器设计(第5天)