美文网首页
2018-9-26 Stack 实现O(1) 的 Min Max

2018-9-26 Stack 实现O(1) 的 Min Max

作者: 没有颜色的菜 | 来源:发表于2018-09-26 23:02 被阅读0次

前言

去面试 Kyligence ,然后面试官出了一道题,当时没想到怎么实现,如何才能在 O(1) 的复杂度下实现呢,当时感觉掉坑里了,总觉得需要存储一个最小值顺序,那怎么也不可能在 O(1) 实现呀,后面面试官让我回去查一查,找到一个比较好的方式,就是记录每一个位置的最小值,这样与 Stack 的元素相对应,并不需要进行排序。就可以实现记录最小值,然而需要空间复杂度为 O(n)。
那是否有空间复杂度更小的做法呢?继续探索这个问题,因为很多元素的最小值可能会重复,这样我们没有必要存储重复的值,只需要存储索引范围即可,但最坏情况也是O(n),最好为O(1),无论如何,我们都要存储最小值,以防 pop 的时候更新

相关文章

  • 2018-9-26 Stack 实现O(1) 的 Min Max

    前言 去面试 Kyligence ,然后面试官出了一道题,当时没想到怎么实现,如何才能在 O(1) 的复杂度下实现...

  • 【34】包含min函数的stack

    【34】包含min函数的stack 题目: 实现一个包含min函数的栈,min和push,pop都是o(1)时间 ...

  • 随机数

    得到 [min,max]之间的整数 (int)(Math.random()*(max-min+1))+min; 得...

  • js产生随机数的方法,统计概率是否相近

    //产生从min-max之间的随机数 function getRandom(min,max) { //max+1的...

  • Cool Leetcode

    1、Min Stack Design a stack that supports push, pop, top, ...

  • 其他常用类

    Math类 (1)abs( )、max( )和min( )方法 常见的abs()方法、max()方法和min()方...

  • 数据结构:min stack & max queue

    栈和队列都是常用的数据结构,有时候需要大量进行输出栈/队列里的最大/小值,假如每次都调用min/max函数,效率是...

  • 如何获取一个随机整数

    Math.floor(Math.random() * (max - min + 1)) + min;

  • Math数组Date

    1、写一个函数,返回从min到max之间的 随机整数,包括min不包括max 2、写一个函数,返回从min都max...

  • JS的Math应用

    1、写一个函数,返回从min到max之间的随机整数,包括min不包括max 2、写一个函数,返回从min都max之...

网友评论

      本文标题:2018-9-26 Stack 实现O(1) 的 Min Max

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