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

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

作者: 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