首页 > 试题广场 >

牛牛与后缀表达式

[编程题]牛牛与后缀表达式
  • 热度指数:950 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
{\hspace{15pt}}给定牛牛一个后缀表达式 s1 \le |s| \le 10^6),计算它的结果,例如,1+1 对应的后缀表达式为 \text{1#1#+},其中 \text{#} 为参与运算的参数的结束标识符。
{\hspace{15pt}}输入数据保证表达式 s 一定合法, s 中只含有 ‘+’、’-‘、’*‘三种运算,分别表示加法、减法和乘法,且任意计算过程和计算结果的绝对值一定不会超过 

【名词解释】
{\hspace{15pt}}后缀表达式:一种数学表达式表示法,其中所有运算符都位于其操作数之后,并通过从左到右扫描表达式并使用栈进行操作数和结果的管理来确定明确的运算顺序,无需括号。
示例1

输入

"1#1#+"

输出

2

说明

1#1#+这个后缀表达式表示的式子是1+1,结果为2 
示例2

输入

"12#3#+15#*"

输出

225

说明

12#3#+15#*这个后缀表达式表示的式子是(12+3)*15,结果为225 
示例3

输入

"1#1#4#5#-*+1#4#*+"

输出

4

说明

头像 Bernard5
发表于 2020-12-01 22:49:12
本题没什么好说的,基本上都能轻松切掉。 class Solution { public: long long solve(string s) { int n = s.length(); long long now = 0, ans = 0; 展开全文
头像 全村最菜的雨林林
发表于 2021-01-24 10:40:03
链接:https://ac.nowcoder.com/acm/problem/212914来源:牛客网 给定一个后缀表达式s,计算它的结果,例如,1+1对应的后缀表达式为1#1#+,‘#’作为操作数的结束符号。其中,表达式中只含有‘+’、’-‘、’*‘三种运算,不包含除法。本题保证表达式一定合法,且 展开全文
头像 MYCCC
发表于 2020-12-01 21:49:20
T1.牛牛算数 按照题意模拟即可。 找中位数的话直接排序,判断n的奇偶性即可。 平均数则扫描一遍整个数组,求一遍和再除以总元素个数即可。 class Solution { public: /** * * @param arr int整型vector * @r 展开全文
头像 DearAlice
发表于 2024-03-08 21:15:10
这个什么什么提交模式我没看懂,这个代码应该没错。 import java.util.Scanner; import java.util.Stack; public class NC212914 { public static void main(String []args){ 展开全文
头像 Acaibird
发表于 2022-10-09 21:56:55
class Solution { public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 给定一个后缀表达式,返回它的结果 * @param str string字符串 * @return long长整型 */ sta 展开全文
头像 Free的午后
发表于 2020-12-03 20:55:37
思路还是很简单的,对字符串转为字符数组,遍历将数字存入栈中,遇到运算符则出栈两个进行运算(注意是后出的那个数在前面,不要反了顺序,要不然减***出错),运算完再鸭压入栈中,最后输出栈顶元素即可 import java.util.*; public class Solution { /** 展开全文
头像 Silencer76
发表于 2025-06-10 18:12:19
题目链接 后缀表达式求值 题目描述 给定一个后缀表达式s,计算它的结果。 例如,1+1对应的后缀表达式为1#1#+,#作为操作数的结束符号。 表达式中只含有+、-、*三种运算,不包含除法。 本题保证表达式一定合法,且计算过程和计算结果的绝对值一定不会超过 long long。 示例1 输入: &qu 展开全文
头像 手有余湘
发表于 2025-07-10 23:56:16
# # 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 # # 给定一个后缀表达式,返回它的结果 # @param str string字符串 # @return long长整型 # class Solution: def legalExp(self , str1 展开全文
头像 牛客469793929号
发表于 2025-07-13 21:00:18
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * 给定一个后缀表达式,返回它的结果 * @param str str 展开全文
头像 三大爷的剑
发表于 2021-10-14 14:42:02
技巧     栈 思路     遇到数字就压栈  遇到操作符就拿栈顶两个进行运算 然后再把结果压栈 实现 package main import (     " 展开全文