1、著名外包公司面试题
字符串“{[(10+3)*18-24/8]*(48+37)}/3”,实现一个算法,求字符串算式的结果。 --------------------编程问答-------------------- 常用的 逆波兰 --------------------编程问答-------------------- exec 'select a=' + '{[(10+3)*18-24/8]*(48+37)}/3'不知道这样做行不行,嘿嘿 --------------------编程问答-------------------- 应该先用 '()' 替换 大括号,还有中括号,然后在运行 exec --------------------编程问答-------------------- 步骤1、先用小括号,代替大括号和中括号
步骤2、然后再使用数据库,进行运算
select a = (((10+3)*18-24/8)*(48+37))/3 --------------------编程问答-------------------- 呵呵 有意思~~~~~ --------------------编程问答--------------------
正解 --------------------编程问答-------------------- 想知道公司的名字 --------------------编程问答-------------------- 考,写逆波兰面试这点时间够得到不? --------------------编程问答-------------------- 弱弱的问一句,什么是“逆波兰”,怎么用 --------------------编程问答-------------------- 看来不少人的数据结构学的都不咋样 --------------------编程问答--------------------
“{[(10+3)*18-24/8]*(48+37)}/3”
-------------------------用逆波兰式表示为
10 3+18* 24 8/-48 37+*3/
ab+c*de/-fg+*3/
根据栈取出就可以了
如:
取 10 3 + 则计算10+3=13
取18 * 则计算13*18=234
取24 8 / 则计算 24/8=3
取- 则计算234-3=231
即 每取一个运算符 就进行一次运算 --------------------编程问答-------------------- 呵呵,有点意思!! --------------------编程问答-------------------- 还真不知道逆波兰 --------------------编程问答--------------------
这种方法好啊
补充:.NET技术 , ASP.NET