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

代码随想录算法【Day11】

150. 逆波兰表达式求值

class Solution {
public:int evalRPN(vector<string>& tokens) {// 力扣修改了后台测试数据,需要用longlongstack<long long> st; for (int i = 0; i < tokens.size(); i++) {if (tokens[i] == "+" || tokens[i] == "-" || tokens[i] == "*" || tokens[i] == "/") {long long num1 = st.top();st.pop();long long num2 = st.top();st.pop();if (tokens[i] == "+") st.push(num2 + num1);if (tokens[i] == "-") st.push(num2 - num1);if (tokens[i] == "*") st.push(num2 * num1);if (tokens[i] == "/") st.push(num2 / num1);} else {st.push(stoll(tokens[i]));}}long long result = st.top();st.pop(); // 把栈里最后一个元素弹出(其实不弹出也没事)return result;}
};

239. 滑动窗口最大值

class Solution {
private:class MyQueue { //单调队列(从大到小)public:deque<int> que; // 使用deque来实现单调队列// 每次弹出的时候,比较当前要弹出的数值是否等于队列出口元素的数值,如果相等则弹出。// 同时pop之前判断队列当前是否为空。void pop(int value) {if (!que.empty() && value == que.front()) {que.pop_front();}}// 如果push的数值大于入口元素的数值,那么就将队列后端的数值弹出,直到push的数值小于等于队列入口元素的数值为止。// 这样就保持了队列里的数值是单调从大到小的了。void push(int value) {while (!que.empty() && value > que.back()) {que.pop_back();}que.push_back(value);}// 查询当前队列里的最大值 直接返回队列前端也就是front就可以了。int front() {return que.front();}};
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {MyQueue que;vector<int> result;for (int i = 0; i < k; i++) { // 先将前k的元素放进队列que.push(nums[i]);}result.push_back(que.front()); // result 记录前k的元素的最大值for (int i = k; i < nums.size(); i++) {que.pop(nums[i - k]); // 滑动窗口移除最前面元素que.push(nums[i]); // 滑动窗口前加入最后面的元素result.push_back(que.front()); // 记录对应的最大值}return result;}
};

http://www.lryc.cn/news/517381.html

相关文章:

  • [SeaTunnel] [MySql CDC] Generate Splits for table db.table error
  • Spring Boot | 基于MinIO实现文件上传和下载
  • 企业手机号搜索API接口
  • VirtualBox Main API 学习笔记
  • [Linux]Mysql9.0.1服务端脱机安装配置教程(redhat)
  • uniapp--HBuilder开发
  • 计算机毕业设计学习项目-P10080 基于springboot+vue的社团管理系统的设计与实现
  • with as提高sql的执行效率
  • 【银河麒麟高级服务器操作系统实例】tcp半链接数溢出分析及处理全过程
  • 计算机毕业设计Python中华古诗词知识图谱可视化 古诗词智能问答系统 古诗词数据分析 古诗词情感分析模型 自然语言处理NLP 机器学习 深度学习
  • 分布式ID生成-雪花算法实现无状态
  • 【问题】配置 Conda 与 Pip 源
  • Zookeeper是如何保证事务的顺序一致性的?
  • 东土科技参股广汽集团飞行汽车初创公司,为低空经济构建新型产业生态
  • Oracle 中的各种名称(*_name)参数的含义与作用
  • 前端页面的内容格式
  • 数据库1-4讲
  • 设计模式 行为型 命令模式(Command Pattern)与 常见技术框架应用 解析
  • 【Redis】简介|优点|使用场景|为什么Redis快
  • Clisoft SOS与CAD系统集成
  • 【linux系统之redis6】redis的安装与初始化
  • Backend - EF Core(C# 操作数据库 DB)
  • WebSocket 性能优化:从理论到实践
  • 我用AI学Android Jetpack Compose之入门篇(2)
  • 以太网协议在汽车应用中的动与静
  • 【C语言】_指针与数组
  • Selenium 的四种等待方式及使用场景
  • React知识盲点——组件通信、性能优化、高级功能详解(大纲)
  • Vue 按键生成多个表单
  • 网络安全:交换机技术