![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
❤️大米花❤️
这个作者很懒,什么都没留下…
展开
-
【面试题】实现一个栈,要求Push(入栈),Pop(出栈),Min/Max(返回最小/大值的操作)的时间复杂度为O(1)
【面试题】实现一个栈,要求Push(入栈),Pop(出栈),Min/Max(返回最小/大值的操作)的时间复杂度为O(1) 方案一:使用一个栈,每次push/pop的时候,都把当前的元素和最大/小值进行入栈/出栈操作 操作 s1 min push 4 4,4 4 push 3 4,4,3,3 3 push 5 4,4,3,3,5,3 3 pop 4,4,3,3 3 ...原创 2019-12-26 15:10:43 · 398 阅读 · 0 评论 -
递归导致堆栈溢出
递归导致堆栈溢出 产生原因:当递归深度过大时,不断的调用方法没有返回数据,每次调用都会将方法的临时变量封装为栈帧存入内存栈,等方法返回的时候才会出栈,所以就会出现一直入栈导致爆栈或者内存溢出的情况 解决办法:如果无法控制递归的深度,就要避免使用递归,可以采用循环+栈结构代替递归的方式 参考 聊聊面试必考-递归思想与实战 如何利用循环代替递归以防止栈溢出 ...原创 2019-11-24 08:38:49 · 4363 阅读 · 1 评论