day11第五章 栈与队列part02|150. 逆波兰表达式求值| 239. 滑动窗口最大值|347.前 K 个高频元素
150. 逆波兰表达式求值:基本stack 的操作
class Solution { public int evalRPN(String[] tokens) { Stack<Integer> stack = new Stack<>(); for(String s: tokens){ if("+".equals(s)){ stack.push(stack.pop() + stack.pop()); } else if( "-".equals(s)){ //注意这里的计算方式 stack.push(-stack.pop() + stack.pop()); }else if("*".equals(s)){ stack.push(stack.pop() * stack.pop()); }else if("/".equals(s)){ int temp1 = stack.pop(); int temp2 = stack.pop(); stack.push(temp2/temp1); } else{ stack.push(Integer.valueOf(s)); } } return stack.pop(); } }
239. 滑动窗口最大值
单调队列
347.前 K 个高频元素
大顶堆 小顶堆