奇怪的表达式求值--网易2017春招实习笔试编程题8
2017-08-14 11:48
357 查看
时间限制:1秒
空间限制:32768K
常规的表达式求值,我们都会根据计算的优先级来计算。比如*/的优先级就高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, - 和 *)。现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少
输入描述:
输出描述:
输入例子1:
输出例子1:
答案正确:恭喜!您提交的程序通过了所有的测试用例
用两个栈实现,一个存放数据和临时运算的结果,一个存放操作符,
空间限制:32768K
常规的表达式求值,我们都会根据计算的优先级来计算。比如*/的优先级就高于+-。但是小易所生活的世界的表达式规则很简单,从左往右依次计算即可,而且小易所在的世界没有除法,意味着表达式中没有/,只有(+, - 和 *)。现在给出一个表达式,需要你帮忙计算出小易所在的世界这个表达式的值为多少
输入描述:
输入为一行字符串,即一个表达式。其中运算符只有-,+,*。参与计算的数字只有0~9. 保证表达式都是合法的,排列规则如样例所示。
输出描述:
输出一个数,即表达式的值
输入例子1:
3+5*7
输出例子1:
56
import java.util.Scanner; import java.util.Stack; public class Main { public int calculate(String s) { Stack<Integer> nums = new Stack<Integer>(); Stack<Character> operators = new Stack<Character>(); char[] c = s.toCharArray(); for (int i = c.length - 1; i >= 0; i--) { if (c[i] == '+' || c[i] == '-' || c[i] == '*') { operators.push(c[i]); } else if (c[i] >= '0' && c[i] <= '9') { nums.push(c[i] - '0'); } } Integer a = null; Integer b = null; Character operator = null; while (!nums.empty() && !operators.empty()) { a = nums.pop(); b = nums.pop(); operator = operators.pop(); if (operator == '+') nums.push(a + b); else if (operator == '-') nums.push(a - b); else if (operator == '*') nums.push(a * b); } return nums.pop();//最后,数字栈中有一个表达式的结果值,操作符栈已空 }//calculate public static void main(String[] args) { Scanner sc = new Scanner(System.in); String s = sc.next(); System.out.println(new Main().calculate(s)); sc.close(); }//main }您的代码已保存
答案正确:恭喜!您提交的程序通过了所有的测试用例
用两个栈实现,一个存放数据和临时运算的结果,一个存放操作符,
相关文章推荐
- 网易笔试编程题(奇怪的表达式求值)
- 网易2017春招笔试——奇怪的表达式求值
- 【网易2017实习生编程题】 工作安排 集合 奇怪的表达式求值 涂棋盘 小易记单词
- 【网易2017实习生编程题】 工作安排 集合 奇怪的表达式求值 涂棋盘 小易记单词
- 网易2017实习生招聘笔试题—奇怪的表达式求值
- 网易2017春招[编程题]奇怪的表达式求值@Java
- 小易记单词--网易2017春招实习笔试编程题10
- 集合--网易2017春招实习笔试编程题7
- 2017网易实习数据挖掘工程师笔试在线编程题《分饼干》
- 双核处理--网易2017春招实习笔试编程题1
- 消除重复元素--网易2017春招实习笔试编程题4
- 网易2017春招编程题:奇怪的表达式求值 [python]
- 魔力手环--网易2017春招实习笔试编程题
- 工作安排--网易2017春招实习笔试编程题6
- 赶去公司--网易2017春招实习笔试编程题2
- 堆砖块--网易2017春招实习笔试编程题11
- 【网易2017春招】奇怪的表达式求值 解题报告
- 调整队形--网易2017春招实习笔试编程题3
- 涂棋盘--网易2017春招实习笔试编程题9
- 网易2017内推笔试编程题合集(二)第二题 幸运的袋子