代码随想录算法训练营第十一天| 150. 逆波兰表达式求值 、 239. 滑动窗口最大 、 347.前 K 个高频元素

3 阅读1分钟

150. 逆波兰表达式求值

相关链接: 题目链接 文章讲解 视频讲解

解题思路

首先理解:逆波兰表达式求值

代码

var evalRPN = function(tokens) {
    var stack = [], len = tokens.length;
    for(let i = 0; i<len;i++){
        // ["10","6",-132,"/","*","17","+","5","+"]
        if(tokens[i] === '+'){
            let first = stack.pop();
            let second = stack.pop();
            stack.push(first + second);
        }else if(tokens[i] === '-'){
            let first = stack.pop();
            let second = stack.pop();
            stack.push(second - first);
        }else if(tokens[i] ==='*'){
            let first = stack.pop();
            let second = stack.pop();
            stack.push(first * second);
        }else if(tokens[i] === '/'){
            let first = stack.pop();
            let second = stack.pop();
            stack.push(Math.trunc(second / first));
        }else{
            stack.push(+tokens[i]);
        }
    }
    return stack.pop();
};

239. 滑动窗口最大值

相关链接: 题目链接 文章讲解 视频讲解

解题思路

代码

347.前 K 个高频元素

相关链接: 题目链接 文章讲解 视频讲解

解题思路

代码