给定一个逆波兰表达式,求表达式的值。 数据范围:表达式长度满足 ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 。-笔试面试资料

这是qklbishe.com第18781 篇笔试面试资料
提供答案分析,通过本文《给定一个逆波兰表达式,求表达式的值。
数据范围:表达式长度满足 ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:

给定一个逆波兰表达式,求表达式的值。
数据范围:表达式长度满足 给定一个逆波兰表达式,求表达式的值。          数据范围:表达式长度满足  ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 。 ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 给定一个逆波兰表达式,求表达式的值。          数据范围:表达式长度满足  ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 。
Javascript

给定一个逆波兰表达式,求表达式的值。          数据范围:表达式长度满足  ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 。 区块链毕设学生300673134号

function evalRPN( tokens ) {     // write code here     let numStack = [], operateStack = [];     let len = tokens.length;     let operate = ['+', '-', '*', '/'];     function compute(num1, num2, op) {         switch(op) {             case '+': return num1 + num2;             case '-': return num1 - num2;             case '*': return num1 * num2;             case '/': return num1 / num2;         }     }     for(let i = 0; i < len; i++) {         if(!operate.includes(tokens[i])) {             //说明是数字             numStack.push(Number(tokens[i]));         }else {             let num2 = numStack.pop();             let num1 = numStack.pop();             let res = compute(num1, num2, tokens[i]);             if(res < 0) {                 res = Math.ceil(res)                 //如果是负数,则使用Math.floor(),向上取整             }else {                 //如果是正数,则使用Math.floor(),向下取整                 res = Math.floor(res)             }             numStack.push(res);                      }     }     return numStack.pop(); }

2021-11-20 19:07:44 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 给定一个逆波兰表达式,求表达式的值。 数据范围:表达式长度满足 ,表达式中仅包含数字和 + ,- , * , / ,其中数字的大小满足 。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情