进击的喵哥
进击的喵哥
全部文章
分类
博客搭建(3)
图解算法大全(1)
图解高频算法(19)
开源哪些事(1)
题解(1)
归档
标签
去牛客网
登录
/
注册
龙哥手记欢迎你关注
全部文章
(共3篇)
题解 | 【清晰图解】剑指Offer41.#数据流中的中位数#
默认你已经理解清楚题意 思路如下 题目的要求是要获取一个数据流排序后的中位数,那么我们可以用两个优先队列(堆)来实现。 该题用一个大顶堆,一个小顶堆来完成。 大顶堆的每个节点的值都大于等于左右孩子节点的值,也就是说堆顶是最大值。 小顶堆的每个节点的值都小于等于左右孩子节点的值,堆顶也就是最小...
C++
Java
堆(优先队列)
双指针
动态规划
递归
链表
数据流
双向链表
2022-04-26
1
328
题解 | #单链表的排序#堆排序最简单而直接
默认你已经理解题意 思路如下 堆排序-简单直接 定义类型为ListNode的最小堆 建堆:链表所有node入堆 依次弹出堆顶node,即是从小到大的顺序 时间复杂度O(nlogn),空间复杂度O(n) 此法和数组的堆排序几乎没有区别,实现起来最简单,不易出错 class Solution { ...
C++
Java
二叉树
动态规划
二分查找
堆(优先队列)
堆
2022-04-23
1
852
题解 | #用两个栈实现队列#我用均摊复杂度 已经击败100%的对手啦!
思路如下 无论是「用栈实现队列」还是说「用队列实现栈」,其实思路都是类似的。 都可以通过用两个 栈或者队列 来解决。 现在我们创建两个栈,分别是 out 和 in,用作处理「输出」和「输入」两个操作。 其实就是两个栈来回的「倒腾」 而对于「何时倒腾」决定了是 O(n) 解法 还是 均摊 O(1)...
C++
Java
堆(优先队列)
栈
回溯
贪心
动态规划
深度优先搜索
滑动窗口
2022-04-20
1
380