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

L2-053 算式拆解 - java

L2-053 算式拆解


语言时间限制内存限制代码长度限制栈限制
Java (javac)400 ms512 MB16KB8192 KB
Python (python3)400 ms256 MB16KB8192 KB
其他编译器400 ms64 MB16KB8192 KB

题目描述:

括号用于改变算式中部分计算的默认优先级,例如 2 + 3 × 4 = 14 2+3×4=14 2+3×4=14,因为乘法优先级高于加法;但 ( 2 + 3 ) × 4 = 20 (2+3)×4=20 (2+3)×4=20,因为括号的存在使得加法先于乘法被执行。本题请你将带括号的算式进行拆解,按执行顺序列出各种操作。

注意:题目只考虑 +-*/ 四种操作,且输入保证每个操作及其对应的两个操作对象都被一对圆括号 () 括住,即算式的通用格式为 (对象 操作 对象),其中 对象 可以是数字,也可以是另一个算式。

输入格式:
输入在一行中按题面要求给出带括号的算式,由数字、操作符和圆括号组成。算式内无空格,长度不超过 100 个字符,以回车结束。题目保证给出的算式非空,且是正确可计算的。

输出格式:
按执行顺序列出每一对括号内的操作,每步操作占一行。
注意前面步骤中获得的结果不必输出。例如在样例中,计算了 2+3 以后,下一步应该计算 5*4,但 5 是前一步的结果,不必输出,所以第二行只输出 *4 即可。

输入样例:

(((2+3)*4)-(5/(6*7)))

输出样例:

2+3
*4
6*7
5/
-

在给定式子其中,将带括号的算式进行拆解,并输出


emmmmmmm

简单的栈应用 —— 《括号匹配问题》

如果当前字符不是 ) 时,则将字符存入栈中。
否则遇到 ) 时, 则将栈中字符弹出,直到弹出 ( 为止。 注:弹出的字符需要倒序显示。


import java.io.*;public class Main
{static Stack<Character> st = new Stack<Character>();static void print(){StringBuilder s = new StringBuilder();// 如果栈顶的元素不是"(",则一直弹出字符while (st.peek() != '(') s.append(st.pop());st.pop(); // 弹出最后的 "("s.reverse(); // 反转字符串out.println(s);}public static void main(String[] args){String S = sc.next();char s[] = S.toCharArray();for (int i = 0; i < s.length; i++){if (s[i] == ')') print(); // 如果遇到 ")" , 则将栈中的字符弹出else st.add(s[i]); // 将元素压入栈中}out.flush();out.close();}static Scanner sc = new Scanner(System.in);static PrintWriter out = new PrintWriter(System.out);
}

Stack
Stack
Stack


如果有说错的 或者 不懂的 尽管提 嘻嘻

一起进步!!!


闪现

相关文章:

  • DL00924-基于深度学习YOLOv11的工程车辆目标检测含数据集
  • LLM:decoder-only 思考
  • Linux的SHELL脚本中的常用命令
  • Allegro 输出生产数据详解
  • Java设计模式从基础到实际运用
  • 龙虎榜——20250529
  • 学生管理系统V2.0
  • thc-ssl-dos:SSL 压力测试的轻量级工具!全参数详细教程!Kali Linux教程!
  • Linux:shell脚本常用命令
  • 打印机无法远程打印?可以本地打印,本地网络打印机设置给异地使用
  • 【HW系列】—C2远控服务器(webshell链接工具, metasploit、cobaltstrike)的漏洞特征流量特征
  • Linux 进程控制
  • DeepSeek 赋能卫星遥感:AI 驱动数据分析新范式
  • 【笔记】suna部署之获取 Supabase API key 和 project URL
  • 数据可视化--使用matplotlib绘制高级图表
  • 从数据持久化到网络通信与OpenCV:Qt应用程序开发的深度探索与实战
  • 利拉鲁肽(Liraglutide)
  • 20250529-C#知识:运算符重载
  • LangChain【2】之专业术语
  • 高防IP能抗住500G攻击吗?
  • 深圳建西站/温州网站建设
  • 德州哪里有做网站的/自己如何开网站
  • 河北做网站公司那家好/设计公司排名
  • 百度不做网站外链是什么/百度竞价优化软件
  • html5 服装网站/成都网络推广外包
  • 网站运营推广该如何做/软件推广平台有哪些?哪个比较好