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

代码随想录算法训练营第十一天-150.逆波兰表达式求值

  • 队列
#include <iostream>
#include <vector>
#include <stack>class Solution {
public:int evalRPN(std::vector<std::string>& tokens) {std::stack<long long> stack_number;for (auto it = tokens.begin(); it != tokens.end(); ++it) {std::string s = *it;if (s == "+" || s == "-" || s == "*" || s == "/") {long long num2 = (stack_number.top());stack_number.pop();long long num1 = (stack_number.top());stack_number.pop();char c = s[0];switch (c) {case '+': stack_number.push(num1 + num2); break;case '-': stack_number.push(num1 - num2); break;case '*': stack_number.push(num1 * num2); break;case '/': stack_number.push(num1 / num2); break;}} elsestack_number.push(stoll(s));}int ret = stack_number.top();stack_number.pop();return ret;}
};int main()
{std::vector<std::string> vec {"3", "15", "/"};Solution s;std::cout << s.evalRPN(vec) << std::endl;return 0;
}
  • 汇总
http://www.lryc.cn/news/510491.html

相关文章:

  • C++ 泛编程 —— 嵌套使用模板类
  • 【WebGIS】Cesium:GLTF数据加载
  • 【面经】25届 双非本科 字节跳动 北京 四年的总结
  • 抖去推碰一碰系统技术源码/open SDK转发技术开发
  • goview——vue3+vite——数据大屏配置系统
  • 中间件xxl-job安装
  • 【第2篇】 Python与数据库基础
  • CTFHUB-web进阶-php
  • 深度学习使用Anaconda打开Jupyter Notebook编码
  • 金蝶V10中间件的使用
  • Firewalld 防火墙详解:深入理解与实践指南
  • linux系统编程(五)
  • Effective C++ 条款 16:成对使用 `new` 和 `delete` 时要采取相同形式
  • 【HarmonyOS NEXT】鸿蒙原生应用“上述”
  • 【人工智能】使用Python构建推荐系统:从协同过滤到深度学习
  • 店铺营业状态设置
  • batchnorm和layernorm的理解
  • 在git commit之前让其自动执行一次git pull命令
  • 【Rust自学】6.3. 控制流运算符-match
  • 大模型应用技术系列(三): 深入理解大模型应用中的Cache:GPTCache
  • 『大模型笔记』评估大型语言模型的指标:ELO评分,BLEU,困惑度和交叉熵介绍以及举例解释
  • 深度解析:Maven 和 Gradle 的使用比较及常见仓库推荐
  • SQLite本地数据库的简介和适用场景——集成SpringBoot的图文说明
  • 管理面板Ajenti的在Windows10下Ubuntu24.04/Ubuntu22.04里的安装
  • 在Python如何用Type创建类
  • Android学习19 -- NDK4--共享内存(TODO)
  • 《Cocos Creator游戏实战》非固定摇杆实现原理
  • RabbitMQ工作模式(详解 工作模式:简单队列、工作队列、公平分发以及消息应答和消息持久化)
  • 【VScode】第三方GPT编程工具-CodeMoss安装教程
  • 在JavaScript中,let 和 const有什么不同