PowerStack

时间:2023-03-09 05:50:25
PowerStack
int curInc;
HashMap<Integer, Integer> incMap;
Stack<Integer> stack; public SuperStack() {
this.curInc = 0;
this.incMap = new HashMap<Integer, Integer>();
this.stack = new Stack<Integer>();
} private void push(int val) {
this.stack.push(val);
} private int pop() {
if (incMap.containsKey(stack.size())) {
curInc += incMap.get(stack.size());
}
int ret = stack.pop() + curInc;
return ret;
} private void inc(int index, int inc) {
if (incMap.containsKey(index)) {
incMap.put(index, incMap.get(index) + inc);
} else {
incMap.put(index, inc);
}
}

Normal Solution

private void push(int val) {
list.addLast(val);
} private int pop() {
return list.pollLast();
} private void inc(int a, int b) {
for (int i = 0; i < a; i++) {
list.set(i, list.get(i) + b);
}
}