由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
JobHunting版 - 一道题:表达式求值?
相关主题
表达式求值中一元运算符怎么解决请问关于C语言的复杂表达式。
关于算术表达式求值的谜思?[G] 给定k个数字,求所有表达式结果为X
急问一道本周 Microsoft 电面题问一道 G 有意思的题
A家杯具,面经贡献Google 电面面经
今天做题发现了一个很不明显的bug请教个C题目
C反转字符串的bug?问一个关于括号的题目
今天听来的一个题 goog请教FB on-site 面试题
在整数数组中加运算符号和括号,求maxF一道ONSITE题目
相关话题的讨论汇总
话题: 表达式话题: 运算符话题: 求值话题: 单目话题: 优先级
进入JobHunting版参与讨论
1 (共1页)
t****a
发帖数: 1212
1
表达式包含三种元素:
数字:简单起见仅仅考虑整数
运算符:分为单目和双目运算符两类,单目运算符比如负号。运算符有优先级,^ > */
> +-
括号:括号可以改变计算的优先级
要求写一个算法,可以计算表达式比如 (1+2)*3/4^5
为了方便解析,表达式中所有的相邻元素用空格分开,比如( 1 + 2 ) * 3 / 4 ^ 5
如果表达式有错误那么就报错,否则返回计算结果
怎么做?
c********t
发帖数: 5706
2
先转成逆波兰,再算。

*/

【在 t****a 的大作中提到】
: 表达式包含三种元素:
: 数字:简单起见仅仅考虑整数
: 运算符:分为单目和双目运算符两类,单目运算符比如负号。运算符有优先级,^ > */
: > +-
: 括号:括号可以改变计算的优先级
: 要求写一个算法,可以计算表达式比如 (1+2)*3/4^5
: 为了方便解析,表达式中所有的相邻元素用空格分开,比如( 1 + 2 ) * 3 / 4 ^ 5
: 如果表达式有错误那么就报错,否则返回计算结果
: 怎么做?

r*****e
发帖数: 146
3
+1, agree

【在 c********t 的大作中提到】
: 先转成逆波兰,再算。
:
: */

l***8
发帖数: 149
4
LL parser
A*****i
发帖数: 3587
5
想知道怎么转逆波兰?如果能转成逆波兰的话,那证明已经可以按照本来顺序计算了那
不如直接算了
j*****y
发帖数: 1071
6
逆波兰有很简单的算法 : shunting-yard

【在 A*****i 的大作中提到】
: 想知道怎么转逆波兰?如果能转成逆波兰的话,那证明已经可以按照本来顺序计算了那
: 不如直接算了

r*********n
发帖数: 4553
7
但是要现场写出shunting yard algorithm还是不容易吧,有很多case要考虑

【在 j*****y 的大作中提到】
: 逆波兰有很简单的算法 : shunting-yard
1 (共1页)
进入JobHunting版参与讨论
相关主题
F一道ONSITE题目今天做题发现了一个很不明显的bug
[攒人品]昨天的amazon 电面C反转字符串的bug?
形势不容乐观呀,最近好像很多人被裁啊!今天听来的一个题 goog
请教昨天那个 binary加法, a + b,怎么算?在整数数组中加运算符号和括号,求max
表达式求值中一元运算符怎么解决请问关于C语言的复杂表达式。
关于算术表达式求值的谜思?[G] 给定k个数字,求所有表达式结果为X
急问一道本周 Microsoft 电面题问一道 G 有意思的题
A家杯具,面经贡献Google 电面面经
相关话题的讨论汇总
话题: 表达式话题: 运算符话题: 求值话题: 单目话题: 优先级