午夜尋歡 3星
共回答了393个问题采纳率:98.2% 评论
1.双栈思路。因题目只对时间复杂度有要求,而对空间复杂度无要求。因此我们可以创建两个栈,一个栈用于存储实际数据,另一个栈用于存储最小元素,getMin()方法只需直接返回存储最小元素栈的最顶层元素即可。
双栈思路时间复杂度为O(1),空间复杂度为O(n)。
2.单栈思路。假设该题对时间复杂度和空间复杂度都要求为O(1)时,我们就可使用该方法实现。单栈顾名思义就是只创建一个栈,我们进行入栈操作时可push()两次,第一次为实际数据,第二次为最小元素(即每个实际数据后面均跟着最小元素),getMin()方法只需直接返回栈顶元素即可。
12小时前
猜你喜欢的问题
2天前1个回答
2天前1个回答
2天前1个回答
2天前2个回答
2天前1个回答
2天前2个回答
热门问题推荐
1个月前1个回答
3个月前1个回答
1个月前1个回答
1个月前9个回答
1个月前2个回答
1个月前1个回答
2个月前1个回答
3个月前1个回答
3个月前2个回答