美文网首页
算法题设计数据结构(面试准备一)

算法题设计数据结构(面试准备一)

作者: zyangela | 来源:发表于2019-09-22 23:19 被阅读0次

与设计新的数据结构相关的算法题:

class Node{
  int val;
  int max;
  Node next;
}
  1. 本题比较简单,因为只需要pop正常元素,对min值只需要返回即可不需要pop min
  • max stack https://leetcode.com/problems/max-stack/ 在min stack的基础上需要pop处最大的元素
    1. 思路:在min stack的基础上使用双端链表表示每一个元素,有利于删除最大元素
private static class Node {
  int val;
  Node max;
  Node prev;
  Node next;
  Node(int val) {
    this.val = val;
  }
}
  1. 初始思路:类似min stack和max stack实现一个链表保存元素,max heap保存每个元素出现次数的数据结构,虽然确实可以实现,但是复杂度较高
  2. Leetcode官方solution中给出了一个非常elegant的解法:https://leetcode.com/problems/maximum-frequency-stack/solution/

说明:本系列文章为LeeCode,Cracking the coding interview中的一些简单总结,没有过多的解释,如果有需要会增加更多的解释。

相关文章

网友评论

      本文标题:算法题设计数据结构(面试准备一)

      本文链接:https://www.haomeiwen.com/subject/mpzuuctx.html