剑指off

编程入门 行业动态 更新时间:2024-10-10 16:24:43

<a href=https://www.elefans.com/category/jswz/34/1769671.html style=剑指off"/>

剑指off

题目:实现一个栈,要求可以得到min,pop push min 复杂度O(1) min是得到最小元素,不是得到最小并弹出来

分析:用一个辅助栈,每次push的时候都是压入最小的元素,同时弹出

偷懒了,用STL的栈简单写一下

<span style="font-size:14px;">void push(stack<int > &stack1,stack<int > &stack2,int n)
{if (stack1.empty()) {stack1.push(n);stack2.push(n);}else{stack1.push(n);int temp= stack2.top();if (n<temp) {stack2.push(n);}elsestack2.push(temp);}
}
void pop(stack<int > &stack1,stack<int > &stack2)
{if (!stack1.empty()) {printf("the stack is empty");return ;}stack1.pop();stack2.pop();
}
int min(stack<int > &stack2)
{return stack2.top();
}</span>


更多推荐

剑指off

本文发布于:2024-03-13 00:10:39,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1732742.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:剑指

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!