常用数据结构

1.Min Stack
Using two stacks.
The first one is the regular stack.
The second one only store minimum numbers if a smaller number comes.
Push(x)
a. stack.push(x)
b. 如果<=minStack的最小值,那么就minStack.push(x)
Pop()
a. stack.pop()
b. 如果==minStack.top(),那么就minStack.pop()
2.Implement Queue by Two Stacks
Q.Push(x): S1-Push(x)
Q.Pop(): if S2.empty() --> S1->S2; S2.pop() Q.Top(): Similar with Q.Pop()
3.Largest Rectangle in Histogram
4.rehashing
5.Longest Consecutive Sequence
6. LRU Cache重要
当往双向链表中增加一个数时超过容量了,删除头结点,新增节点放在尾部,当访问某个数时,把他对应的节点移到尾部,头部是Least Recently Used,尾部是Most Recently Used。
7.Heapify
8.data stream median用大堆和小堆辅助

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,349评论 0 33
  • 数组Array,集合(List,Set,队列Queue,栈Stack),散列表Map 一、数组:长度固定,元素类型...
    夏日橘子冰阅读 1,846评论 0 0
  • 没找到要找的书,却瞥见本蓝色封皮的书,书名是个很沉重的话题,类似前阵子所找不到的书的故事,越翻阅越难过,没有一次读...
    自由和安阅读 754评论 1 0