当前位置: 首页 > news >正文

咸宁公司做网站a站是哪个app

咸宁公司做网站,a站是哪个app,网店如何推广自己的产品,高端手机排行榜2023文章目录 万能计算器的实现以及源码分析1. leetcode 150 逆波兰表达式求值 万能计算器的实现以及源码分析 /*** 我们尝试写一个完整版的计算器,由于计算机不能很好的识别括号,所以一般要转换为逆波兰表达式求解* 思路解析 :* 1. 输入一个 中缀表达式* 2. 中缀表达式转化为list… 文章目录 万能计算器的实现以及源码分析1. leetcode 150 逆波兰表达式求值 万能计算器的实现以及源码分析 /*** 我们尝试写一个完整版的计算器,由于计算机不能很好的识别括号,所以一般要转换为逆波兰表达式求解* 思路解析 :* 1. 输入一个 中缀表达式* 2. 中缀表达式转化为list存储* 3. 把list转换为一个逆波兰表达式* 规则如下 首先准备两个栈,stack1 , list2(stack2)* 如果是数字直接装入 list2* 如果是括号 分为左括号跟右括号* 如果是左括号直接进入stack1* 如果是右括号 stack1 弹栈 ,弹出的元素进入stack2,直到出现 ) ,抵消掉一个右括号* 如果是操作符* 如果stack1 为空 或者是 栈顶为左括号,那么直接入栈 ---------------------------* 如果操作符的优先级大于 栈顶 操作符的优先级,直接入栈 ** 如果操作符的优先级小于等于 栈顶操作符 ,那么就弹出栈顶元素入stack2,然后进入第一条比较 --------** 4. 利用逆波兰表达式进行求值*/ class MyCalculator{public static void main(String[] args) {String s 1 ((2 3) *4 )-5;ListString infixexperssion toList(s);ListString suffixexpression toSuffixexpression(infixexperssion);int ret calculate(suffixexpression);System.out.println(ret);}/*** 该方法的作用就是把一个字符串转换为一个中缀表达式的list* param infixexpression : 中缀表达式* return*/public static ListString toList(String infixexpression){ListString ret new ArrayList();int count 0;while(count infixexpression.length()){if(infixexpression.charAt(count) ){count;continue;}if(infixexpression.charAt(count) 0 || infixexpression.charAt(count) 9 infixexpression.charAt(count)! ){ret.add(infixexpression.charAt(count) );count;}else{StringBuilder stringBuilder new StringBuilder();while(count infixexpression.length() infixexpression.charAt(count)0 infixexpression.charAt(count)9){stringBuilder.append(infixexpression.charAt(count));count;}ret.add(stringBuilder.toString());}}return ret;}/*** 该方法的作用是将我们的中缀表达式转化为逆波兰表达式* param infixexpression : 传入的中缀表达式* return*/public static ListString toSuffixexpression(ListString infixexpression){//首先创建两个栈,因为第二个栈不涉及弹栈操作,所以我们可以创建为顺序表StackString stack new Stack();ListString list new ArrayList();for(String elem : infixexpression){if(elem.equals(()){stack.push(elem);}else if(elem.equals())){while(stack.size() ! 0 !stack.peek().equals(()){list.add(stack.pop());}stack.pop();}else if(isOperator(elem) ){if(stack.size() 0 || stack.peek().equals(() || priority(elem) priority(stack.peek())){stack.push(elem);continue;}while(stack.size() ! 0 priority(elem) priority(stack.peek()) !stack.peek().equals(()){list.add(stack.pop());}stack.push(elem);}else{list.add(elem);}}while(stack.size() ! 0){list.add(stack.pop());}return list;}//判断是否是操作符public static boolean isOperator(String elem){if(elem.equals()||elem.equals(-)||elem.equals(*)||elem.equals(/)){return true;}return false;}//判断优先级的大小public static int priority(String elem){if(elem.equals() || elem.equals(-)){return 1;}else{return 2;}}/*** 最后收一下尾巴,用我们所得到的逆波兰表达式求出值* 求值的基本思路应该比较好理解* 如果是数字直接入栈,如果不是,弹出两个数字,然后进行运算结果入栈*/public static int calculate(ListString sufferixexperssion){StackString stack new Stack();for(String elem : sufferixexperssion){if(isOperator(elem)){int num2 Integer.parseInt(stack.pop());int num1 Integer.parseInt(stack.pop());switch (elem){case :stack.push((num1num2));break;case - :stack.push((num1-num2));break;case * :stack.push((num1*num2));break;case / :stack.push((num1/num2));break;}}else{stack.push(elem);}}return Integer.parseInt(stack.pop());} }1. leetcode 150 逆波兰表达式求值 逆波兰表达式又叫做后缀表达式,因为计算机是好辨认出中缀表达式的计算顺序的,所以有时候要用后缀表达式进行求解 题目描述 思路分析: 1.如果是数字,直接入栈 2.如果是操作符,弹出两个数字分别作为右操作数跟左操作数运算,结果入栈 3.最后弹出栈内的最后一个元素 代码实现如下 public static int evalRPN(String[] tokens) {StackString stack new Stack();for (int i 0; i tokens.length; i) {String s tokens[i];if (toolOperator(s)) {int num1 Integer.parseInt(stack.pop());int num2 Integer.parseInt(stack.pop());switch (s) {case :stack.push((num2 num1) );break;case -:stack.push((num2 - num1) );break;case *:stack.push((num2 * num1) );break;case /:stack.push((num2 / num1) );break;}} else {stack.push(s);}}return Integer.parseInt(stack.pop());}//判断是不是操作符public static boolean toolOperator(String s) {if (s.equals() || s.equals(-) || s.equals(*) || s.equals(/)) {return true;}return false;}
http://www.zqtcl.cn/news/925758/

相关文章:

  • 手机网站怎么做SEO优化gzip压缩 wordpress
  • 上下框架 网站app营销的核心是什么
  • 网站开发哪里有培训wordpress 主题 网址导航
  • 深圳市宝安区怎么样百度禁止seo推广
  • 手机电商网站 模板常熟做网站优化
  • 免费的logo设计网站网页设计与制作dw
  • 线上调研问卷在哪个网站上做网页设计学生作业
  • 云南高端网站建设网页设计工作室选址依据
  • 免费的编程自学网站互联网公司网站建设ppt
  • 免费发帖的网站网站空间服务器费用
  • 商城类的网站一般怎么做做ps从哪个网站上下载图片大小
  • 怎么做网站链接支付免费推广网站搭建
  • 威海 网站建设刚刚北京传来重大消息
  • 深圳返利网站开发做网站版权怎么写
  • 上传网站内容做社交电商第一步怎么做
  • 网站icp查询系统wordpress 页面 首页
  • wordpress安装教程wamp搜索引擎优化的英文缩写是什么
  • 成都旅行社网站建设网站建设包含哪些方面
  • 找不到网站后台怎么办韩国网站域名分类
  • 建设商务网站作用积极参与网站信息建设工作
  • 网站开发阶段Oss怎么做静态网站
  • 做科学小制作的视频网站怎么才能建立自己的网站啊
  • 跳蚤市场网站开发背景网站优点
  • 长春网站建设方案咨询怎么做自己的网站平台
  • 网站建设谈单技巧做网站建设科技公司
  • 品牌网站建设4a小蝌蚪网页设计分类
  • 域名注册以后会给你一个账户名密码上传做好的网站文化网站建设需要的功能
  • 企业站用wordpress做好吗那些做环保网站的好
  • 天津有哪些有名的网站建设公司商城网站模板免费
  • 安徽省途顺建设工程有限公司网站制作网站公