嵌套类问题解题模板(模拟计算器)
用到数字栈和符号栈#include iostream#include string#include vectorusing namespace std;int where;// 提前声明int f(const string s, int i);void push(vectorint numbers,vectorchar ops,int cur,char op) {int n numbers.size();// 前一个运算符是加减当前数字直接加入if (n 0 || ops[n - 1] || ops[n - 1] -) {numbers.push_back(cur);ops.push_back(op);} else {// 前一个运算符是乘除立即计算int topNumber numbers[n - 1];char topOp ops[n - 1];if (topOp *) {numbers[n - 1] topNumber * cur;} else {numbers[n - 1] topNumber / cur;}ops[n - 1] op;}}int compute(const vectorint numbers,const vectorchar ops) {int n numbers.size();int ans numbers[0];for (int i 1; i n; i) {if (ops[i - 1] ) {ans numbers[i];} else {ans - numbers[i];}}return ans;}// 从 s[i] 开始计算// 遇到字符串结尾或者右括号停止int f(const string s, int i) {int cur 0;vectorint numbers;vectorchar ops;while (i s.size() s[i] ! )) {// 读取多位数if (s[i] 0 s[i] 9) {cur cur * 10 (s[i] - 0);i;}// 遇到运算符else if (s[i] ! () {push(numbers, ops, cur, s[i]);cur 0;i;}// 遇到左括号else {cur f(s, i 1);// where 指向右括号i where 1;}}// 把最后一个数字加入push(numbers, ops, cur, );// 记录当前停止的位置where i;return compute(numbers, ops);}int calculate(const string str) {where 0;return f(str, 0);}int main() {string str;cin str;cout calculate(str) \n;return 0;}

相关新闻

Windows热键冲突终结者:Hotkey Detective完整使用指南

Windows热键冲突终结者:Hotkey Detective完整使用指南

Windows热键冲突终结者:Hotkey Detective完整使用指南 【免费下载链接】hotkey-detective A small program for investigating stolen key combinations under Windows 7 and later. 项目地址: https://gitcode.com/gh_mirrors/ho/hotkey-detective 你是否遇…

2026/8/3 11:20:25阅读更多 →
树莓派系统重刷进阶指南:从数据迁移到安全擦除的完整工程实践

树莓派系统重刷进阶指南:从数据迁移到安全擦除的完整工程实践

1. 项目概述:为什么“重新刷写”比“首次安装”更值得深究?“给树莓派刷个系统”,这听起来像是每个树莓派玩家的入门第一课。网上教程铺天盖地,无非是下载镜像、用BalenaEtcher写入TF卡、上电启动。但当你看到“高级:重…

2026/8/3 12:12:31阅读更多 →
排异反应——当开源世界开始集体拒绝 AI 写的代码

排异反应——当开源世界开始集体拒绝 AI 写的代码

2026 年上半年,一件几乎不可能发生的事,接连发生了:全世界最重要的一批开源项目,开始把"AI 写的代码"挡在门外。 GCC、QEMU、Godot、curl、Ghostty、tldraw……这些名字撑起了半个软件世界的地基。它们不约而同地竖起高…

2026/8/3 13:33:20阅读更多 →
终极指南:如何使用VideoDownloadHelper快速下载任何网页视频

终极指南:如何使用VideoDownloadHelper快速下载任何网页视频

终极指南:如何使用VideoDownloadHelper快速下载任何网页视频 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为无法保存网页上…

2026/8/3 14:22:21阅读更多 →
KW音乐源接口失效终极解决方案:如何快速修复第三方API变更问题

KW音乐源接口失效终极解决方案:如何快速修复第三方API变更问题

KW音乐源接口失效终极解决方案:如何快速修复第三方API变更问题 【免费下载链接】lx-source lx-music-custom-source 洛雪音乐自定义解析源 项目地址: https://gitcode.com/gh_mirrors/lx/lx-source 你是否曾遇到过在使用洛雪音乐自定义源时,突然发…

2026/8/3 14:22:21阅读更多 →
终极指南:如何用Shortkeys浏览器扩展彻底改变你的键盘操作习惯

终极指南:如何用Shortkeys浏览器扩展彻底改变你的键盘操作习惯

终极指南:如何用Shortkeys浏览器扩展彻底改变你的键盘操作习惯 【免费下载链接】shortkeys A browser extension for custom keyboard shortcuts 项目地址: https://gitcode.com/gh_mirrors/sh/shortkeys 你是不是经常在浏览器中重复同样的鼠标点击操作&…

2026/8/3 14:22:21阅读更多 →
教师必存!AI英语写作批改效能提升四象限模型(含2024最新NLP评估基准测试数据)

教师必存!AI英语写作批改效能提升四象限模型(含2024最新NLP评估基准测试数据)

更多请点击: https://kaifayun.com 第一章:AI英语写作批改的教育价值与时代必要性 在语言学习范式持续演进的今天,英语写作能力已不仅是应试工具,更是跨文化思辨、学术表达与职业协作的核心素养。传统人工批改受限于教师精力、反…

2026/8/3 14:22:21阅读更多 →
Chrome Cookie文件解析:定位、解密与自动化测试实战

Chrome Cookie文件解析:定位、解密与自动化测试实战

1. 从一次登录失效说起:为什么我们需要查看Cookie文件 前几天,我遇到了一个挺让人头疼的问题。我正在调试一个需要登录态的自动化脚本,脚本运行得好好的,突然就报错了,提示“会话已过期,请重新登录”。我第…

2026/8/3 14:22:20阅读更多 →
台风天气下配电网故障建模与Matlab实现

台风天气下配电网故障建模与Matlab实现

1. 台风天气下配电网故障建模的核心挑战台风作为极端气象事件,对配电网造成的破坏具有显著区别于常规故障的特征。我在参与沿海城市电网抗台风加固项目时,曾亲历过2018年"山竹"台风导致某市33节点配电网72小时大面积瘫痪的案例。这种极端场景下…

2026/8/3 14:20:09阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

MATLAB xcorr函数详解:从互相关原理到四大实战应用

1. 从一次信号“找茬”说起:为什么我们需要互相关几年前,我在处理一组声学传感器数据时遇到了一个棘手的问题。我有两个麦克风记录了一段相同的音频信号,理论上它们接收到的声音波形应该非常相似,只是由于麦克风位置不同&#xff…

2026/8/3 0:29:53阅读更多 →
限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

限时公开!某头部SaaS公司内部AI模板工厂架构文档(含5类行业模板源码+性能压测报告)

更多请点击: https://intelliparadigm.com 第一章:AI模板批量生成的核心价值与落地全景 AI模板批量生成正从实验性工具演进为现代软件工程的关键基础设施。它通过语义理解、上下文感知与结构化约束,将重复性高、模式明确的代码/文档/配置生成…

2026/8/3 0:33:53阅读更多 →
如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南

如何快速找回消失的网页:Web Archives浏览器扩展终极指南 【免费下载链接】web-archives Browser extension for viewing archived and cached versions of web pages, available for Chrome, Edge and Safari 项目地址: https://gitcode.com/gh_mirrors/we/web-a…

2026/8/3 0:20:37阅读更多 →
3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南

3个让你工作效率翻倍的Umi-OCR实战技巧:免费离线文字识别完全指南 【免费下载链接】Umi-OCR OCR software, free and offline. 开源、免费的离线OCR软件。支持截屏/批量导入图片,PDF文档识别,排除水印/页眉页脚,扫描/生成二维码。…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

[具身智能-181]:PC+服务器+具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构

PC服务器具身机器人:构建具身智能从仿真到量产的闭环迭代混合架构一、前言:具身智能需要“混合算力闭环系统”传统人工智能依赖云端静态数据集训练,不具备物理交互能力,无法适应真实世界的不确定性。具身智能(Embodied…

2026/8/3 0:00:32阅读更多 →
[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

[具身智能-181]:大分布式通信模型对比:看懂为什么 DDS 是 ROS2 底层通信最优解

前言构建机器人、具身智能这类分布式实时系统,通信底座直接决定整套系统的实时性、容错性、组网能力。分布式领域长期存在 4 类经典通信架构:点对点模式、Broker 中间代理模式、广播模式、以数据为中心(DDS)模式。很多开发者疑惑&…

2026/8/3 0:00:32阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/3 2:32:59阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/3 2:33:01阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/3 2:33:04阅读更多 →