标签:splay pre rac tpi min java span 另一个 practice
要实现O(1)的复杂度,所以不能用循环等~只能使用辅助栈
Java 版本:
我的想法:
使用两个栈一个站用于存储入栈的序列,另一个栈存储当前的min值。插入一个就添加一个最小值,删除一个就删除一个最小值。
1 import java.util.Stack; 2 3 public class Solution { 4 5 Stack<Integer> dataStack =new Stack<Integer>(); 6 Stack<Integer> minStack =new Stack<Integer>(); 7 public void push(int node) { 8 dataStack.push(node); 9 if(minStack.empty()||minStack.peek()>node){ 10 minStack.push(node); 11 }else{ 12 minStack.push(minStack.peek()); 13 } 14 } 15 16 public void pop() { 17 dataStack.pop(); 18 minStack.pop(); 19 } 20 21 public int top() { 22 return dataStack.peek(); 23 } 24 25 public int min() { 26 return minStack.peek(); 27 } 28 }
标签:splay pre rac tpi min java span 另一个 practice
原文地址:http://www.cnblogs.com/Yvettey-me/p/6662409.html