、ポップ、トップ操作をプッシュするように設計された支持体は、スタックが取得され、一定時間内の最小要素であることができます。
プッシュ(X) -要素xがスタックを押します。
ポップ() -スタックの要素を削除します。
トップ() -先頭の要素を取得します。
getMin() -スタック内の最小の要素を取り出します。
例:
分のありがとう分の感謝=新しい分おかげで();
minStack.push(-2)。
minStack.push(0)。
minStack.push(-3)。
minStack.getMin(); - >返回-3。
minStack.pop();
minStack.top(); - >返回0
minStack.getMin()。- >返回-2。
クラスMinStack { パブリック: / * *ここにあなたのデータ構造を初期化します。* / MinStack(){ } ボイドプッシュ(INT X){ s1.push(X)。 もし(s2.empty()|| X <= s2.top())s2.push(X)。 } ボイドポップ(){ 場合(s1.top()== s2.top())s2.pop(); s1.pop(); } int型の上部(){ 戻りs1.top()。 } INT getMin(){ 戻りs2.top()。 } プライベート: スタック < 整数 > S1、S2; }。