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 个高频元素 

大顶堆 小顶堆

posted @ 2024-08-26 16:31  爱刷题的小盒子  阅读(210)  评论(0编辑  收藏  举报