嵌套类问题解题模板(模拟计算器)
用到数字栈和符号栈#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/2 10:45:48 阅读更多 →
如何为本地音乐库批量下载同步歌词:LRCGET完整指南

如何为本地音乐库批量下载同步歌词:LRCGET完整指南

如何为本地音乐库批量下载同步歌词:LRCGET完整指南 【免费下载链接】lrcget Utility for mass-downloading LRC synced lyrics for your offline music library. 项目地址: https://gitcode.com/gh_mirrors/lr/lrcget 想要为你的离线音乐库自动匹配精准的同步…

2026/8/2 10:44:47 阅读更多 →
3层架构解密:B站直播推流码获取工具的技术实现与优化

3层架构解密:B站直播推流码获取工具的技术实现与优化

3层架构解密:B站直播推流码获取工具的技术实现与优化 【免费下载链接】bilibili_live_stream_code 获取B站直播推流码,支持开关播,管理直播标题、分区,显示弹幕和礼物。 项目地址: https://gitcode.com/gh_mirrors/bi/bilibili_…

2026/8/2 10:44:47 阅读更多 →

最新新闻

SDR硬件方案深度解析:从架构拆解到实战选型

SDR硬件方案深度解析:从架构拆解到实战选型

1. 项目概述:从“收音机”到“万能接收器”的蜕变如果你对无线电感兴趣,或者从事通信、电子相关的工作,那么“SDR”这个词你肯定不陌生。SDR,全称软件定义无线电,听起来很高大上,但它的核心思想其实很朴素&…

2026/8/2 11:32:06 阅读更多 →
Linux下USB音频设备失声排查:从ALSA到PipeWire的完整解决方案

Linux下USB音频设备失声排查:从ALSA到PipeWire的完整解决方案

1. 项目缘起:当reCamera Pro的扬声器在Linux下“失声”最近在折腾一个挺有意思的项目,用reCamera Pro这款硬件做实时音视频处理。设备本身功能挺全,但当我把它接到一台跑着Ubuntu 22.04的开发机上,准备测试音频输出时,…

2026/8/2 11:32:06 阅读更多 →
MPU-9250 IMU九轴传感器实战:从硬件连接到姿态解算算法

MPU-9250 IMU九轴传感器实战:从硬件连接到姿态解算算法

1. 项目概述:从“Xadow - IMU 9DOF”说起最近在捣鼓一个需要精确感知姿态和运动的小项目,手头正好有一块来自Seeed Studio的Xadow - IMU 9DOF模块。这名字听起来有点技术范儿,简单拆解一下:Xadow是Seeed推出的一种针对可穿戴和微型…

2026/8/2 11:32:06 阅读更多 →
Grove三轴数字加速度计MMA7660FC:从硬件原理到Arduino/树莓派实战应用

Grove三轴数字加速度计MMA7660FC:从硬件原理到Arduino/树莓派实战应用

1. 项目概述:从“Grove - 三轴数字加速度计”说起如果你正在玩Arduino或者树莓派,想给你的智能小车、平衡机器人或者任何需要感知姿态和运动的小项目加点“感觉”,那么一个简单易用的加速度计模块几乎是绕不开的。今天要聊的,就是…

2026/8/2 11:32:06 阅读更多 →
Grove Arduino套件入门指南:模块化硬件开发与传感器应用实战

Grove Arduino套件入门指南:模块化硬件开发与传感器应用实战

1. 项目概述:从零到一的硬件探索入口如果你对电子世界充满好奇,看着网上那些会发光、会唱歌、能自动浇花的小玩意儿心痒痒,但一打开购物网站,面对琳琅满目的开发板、传感器、电阻电容和一堆看不懂的线材时,瞬间感到无从…

2026/8/2 11:32:05 阅读更多 →
DLSS 5技术前瞻:AI原生渲染如何重塑国产3A游戏画质与开发流程

DLSS 5技术前瞻:AI原生渲染如何重塑国产3A游戏画质与开发流程

1. 项目概述:当DLSS 5遇见国产游戏,一场技术驱动的画质革命最近圈子里讨论得最火的话题,莫过于NVIDIA黄仁勋在GTC上抛出的那个重磅炸弹——DLSS 5。虽然官方尚未正式发布,但各种技术路线图和坊间传闻已经勾勒出了一个清晰的轮廓&a…

2026/8/2 11:31:05 阅读更多 →

日新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

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

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

2026/8/2 0:00:38 阅读更多 →

周新闻

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

最大流算法详解:从水管网络到Ford-Fulkerson与Dinic实战

1. 从水管网络到最大流:一个核心问题的诞生想象一下,你是一个城市供水系统的总工程师。你的城市有多个水源(水库),需要通过一个复杂的地下管道网络,将水输送到各个居民区。每条管道都有其最大通水能力&…

2026/8/2 0:00:38 阅读更多 →
基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

基于Springboot的企业门户网站(源码+LW+调试文档+讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/8/2 0:00:38 阅读更多 →
MATLAB xcorr函数详解:从互相关原理到四大实战应用

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

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

2026/8/2 0:00:38 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/2 6:34:16 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/2 2:47:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/2 0:23:22 阅读更多 →