汉字叔叔花了多少钱做网站/百度下载并安装到桌面

汉字叔叔花了多少钱做网站,百度下载并安装到桌面,陕西做网站公司,潍坊正规网站建设公司逆波兰式求表达值 题目链接 题目描述 给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。 请你计算该表达式。返回一个表示表达式值的整数。 注意: 有效的算符为 ‘’、‘-’、‘*’ 和 ‘/’ 。 每个操作数(运…

逆波兰式求表达值

题目链接

题目描述

给你一个字符串数组 tokens ,表示一个根据 逆波兰表示法 表示的算术表达式。

请你计算该表达式。返回一个表示表达式值的整数。

注意:

有效的算符为 ‘+’、‘-’、‘*’ 和 ‘/’ 。
每个操作数(运算对象)都可以是一个整数或者另一个表达式。
两个整数之间的除法总是 向零截断 。
表达式中不含除零运算。
输入是一个根据逆波兰表示法表示的算术表达式。
答案及所有中间计算结果可以用 32 位 整数表示。

示例 1:

输入:tokens = [“2”,“1”,“+”,“3”,“*”]
输出:9
解释:该算式转化为常见的中缀算术表达式为:((2 + 1) * 3) = 9
示例 2:

输入:tokens = [“4”,“13”,“5”,“/”,“+”]
输出:6
解释:该算式转化为常见的中缀算术表达式为:(4 + (13 / 5)) = 6
示例 3:

输入:tokens = [“10”,“6”,“9”,“3”,“+”,“-11”,““,”/“,””,“17”,“+”,“5”,“+”]
输出:22
解释:该算式转化为常见的中缀算术表达式为:
((10 * (6 / ((9 + 3) * -11))) + 17) + 5
= ((10 * (6 / (12 * -11))) + 17) + 5
= ((10 * (6 / -132)) + 17) + 5
= ((10 * 0) + 17) + 5
= (0 + 17) + 5
= 17 + 5
= 22

提示:

1 <= tokens.length <= 104
tokens[i] 是一个算符(“+”、“-”、“*” 或 “/”),或是在范围 [-200, 200] 内的一个整数

题解

请添加图片描述

代码书写
class Solution {
public:int evalRPN(vector<string>& tokens) {stack<int>s;for(int i=0;i<tokens.size();i++){if(tokens[i]=="+"||tokens[i]=="-"||tokens[i]=="*"||tokens[i]=="/"){int num1,num2;num2 = s.top();s.pop();num1 = s.top();s.pop();if(tokens[i]=="+") s.push(num1+num2);else if(tokens[i]=="-") s.push(num1-num2);else if(tokens[i]=="*") s.push(num1*num2);else if(tokens[i]=="/") s.push(num1/num2);}else{//注意把字符串转换成数组s.push(stol(tokens[i]));}}int re = s.top();return re;}
};

239.滑动窗口最大值

题目链接

题目描述

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

返回 滑动窗口中的最大值 。

示例 1:

输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
输出:[3,3,5,5,6,7]
解释:
滑动窗口的位置 最大值


[1 3 -1] -3 5 3 6 7 3
1 [3 -1 -3] 5 3 6 7 3
1 3 [-1 -3 5] 3 6 7 5
1 3 -1 [-3 5 3] 6 7 5
1 3 -1 -3 [5 3 6] 7 6
1 3 -1 -3 5 [3 6 7] 7
示例 2:

输入:nums = [1], k = 1
输出:[1]

提示:

1 <= nums.length <= 10^5
-104 <= nums[i] <= 10^4
1 <= k <= nums.length

解题

解法一:暴力解法

请添加图片描述

class Solution {
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {vector<int>re;for(int i=0;i<=nums.size()-k;i++){auto begin = nums.begin()+i;auto end = nums.begin()+i+k;auto max = max_element(begin,end);re.push_back(*max);}return re;}
};

喜提超时
在这里插入图片描述
尝试用条件进行剪枝,省去一些不必要的判断,比如最大值还没有被移出滑动窗口并且新加进来的元素小于最大值时就没有必要调用寻找最大值的函数

class Solution {
public:int findMaxIndex(vector<int>&nums,int begin,int end){int max = nums[begin];int re=begin;for(int i = begin;i<end;i++){if(nums[i]>max){max = nums[i];re = i;}}return re;}vector<int> maxSlidingWindow(vector<int>& nums, int k) {vector<int>re;if (nums.empty() || k <= 0) return re;int index= findMaxIndex(nums,0,k);int max= nums[index];for(int i=0;i<=nums.size()-k;i++){if((i>0 && index==i-1)||nums[i+k-1]>nums[index]){index = findMaxIndex(nums,i,i+k);}re.push_back(nums[index]);}return re;}
};

在这里插入图片描述
稍微好了一些 这次过到47个用例

解法二.单调队列

我们使用一个队列,在这个队列中,只存放可能成为最大值的数字。
为了避免排序算法带来的时间复杂度,我们不排序,怎么获得当前窗口中最大的数字呢?
我们希望队列的第一个元素就是当前窗口中最大的数字,这样就能直接弹出来。
所以队列中一定呈现非增的特征

所以在进行push()时,如果发现队列末尾的元素比即将入队的元素小,就要把该元素pop出去;

注意这个队列实现的底层是deque,则元素可以从两头出
在进行pop()操作时,可能会出现要弹出滑动窗口的那个元素在更大的元素push进来时,就被弹出了,就不用真的进行pop()。需要真的进行pop()的情况为滑动窗口弹出的元素恰好为原来的最大元素且新加入滑动窗口的元素没有原来的大
如:请添加图片描述

举个栗子:
请添加图片描述

class MyQueue{public:deque<int>q;void push(int value){while(!q.empty()&&value>q.back()){q.pop_back();}q.push_back(value);}void pop(int value){if(!q.empty()&&value==q.front()){q.pop_front();}}int getMax(){return q.front();}
};
class Solution {
public:vector<int> maxSlidingWindow(vector<int>& nums, int k) {vector<int>re;MyQueue q;for(int i =0;i<k;i++){q.push(nums[i]);}re.push_back(q.getMax());for(int i=k;i<nums.size();i++){q.push(nums[i]);q.pop(nums[i-k]);re.push_back(q.getMax());}return re;}
};

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/72454.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

论文阅读笔记:UniFace: Unified Cross-Entropy Loss for Deep Face Recognition

论文阅读笔记&#xff1a;UniFace: Unified Cross-Entropy Loss for Deep Face Recognition 1 背景2 创新点3 方法3.1 回顾softmax损失3.2 统一交叉熵损失3.3 人脸验证中的UCE损失3.4 进一步的优化3.4.1 边际UCE损失3.4.2 平衡BCE损失 4 实验4.1 消融实验4.2 和SOTA方法对比 论…

Metal学习笔记七:片元函数

知道如何通过将顶点数据发送到 vertex 函数来渲染三角形、线条和点是一项非常巧妙的技能 — 尤其是因为您能够使用简单的单行片段函数为形状着色。但是&#xff0c;片段着色器能够执行更多操作。 ➤ 打开网站 https://shadertoy.com&#xff0c;在那里您会发现大量令人眼花缭乱…

腾讯云 | 微搭低代码快速开发数据表单应用

如上所示&#xff0c;登录腾讯云微搭低代码业务控制台&#xff0c;开始新创建一个应用&#xff0c;创建应用的方式包括&#xff0c;根据实际的业务需求&#xff0c;从模版列表中选择一个模板填入数据模型创建新应用&#xff0c;使用微搭组件自主设计数据模型创建新应用&#xf…

储油自动化革命,网关PROFINET与MODBUS网桥的无缝融合,锦上添花

储油行业作为能源供应链的关键环节&#xff0c;其自动化和监控系统的可靠性和效率至关重要。随着工业4.0的推进&#xff0c;储油设施越来越多地采用先进的自动化技术以提高安全性、降低成本并优化运营。本案例探讨了如何通过使用稳联技术PROFINET转MODBUS模块网关网桥&#xff…

PARETO PROMPT OPTIMIZATION

题目 帕累托提示优化 论文地址&#xff1a;https://openreview.net/forum?idHGCk5aaSvE 摘要 自然语言迅速优化或及时工程已成为一种强大的技术&#xff0c;可以解锁大型语言模型&#xff08;LLMS&#xff09;的各种任务的潜力。尽管现有方法主要集中于最大化LLM输出的单一特…

前端面试题---.onChange() 事件与焦点机制解析

.onChange() 事件与焦点的总结 焦点&#xff08;focus&#xff09; 指的是 当前正在操作的元素&#xff08;如输入框、按钮&#xff09;。只有一个元素能同时拥有焦点。 原生 HTML 事件&#xff1a; onchange &#xff08;需要失去焦点才触发&#xff09; 用户输入后&#x…

3.对象生活的地方—Java环境搭建

1、你要养鱼&#xff0c;总得先有一个鱼塘吧。挖一个鱼塘来养鱼&#xff0c;你需要去做下面这些事情&#xff1a; 规划和设计&#xff1a;确定鱼塘的位置、大小和形状&#xff0c;绘制设计图。标记和测量&#xff1a;使用测量工具标记鱼塘的边界和深度。挖掘&#xff1a;使用挖…

玩转大模型——Trae AI IDE国内版使用教程

文章目录 Trae AI IDE完备的 IDE 功能强大的 AI 助手 安装 Trae 并完成初始设置管理项目什么是 “工作空间”&#xff1f;创建项目 管理插件安装插件从 Trae 的插件市场安装从 VS Code 的插件市场安装 禁用插件卸载插件插件常见问题暂不支持安装 VS Code 插件市场中某个版本的插…

数据结构1-4 队列

一、队列是什么&#xff1f; 先举一个日常例子&#xff0c;排队买饭。 排队买饭 大家按先来后到的顺序&#xff0c;在窗口前排队买饭&#xff0c;先到先得&#xff0c;买完之后走开&#xff0c;轮到下一位买&#xff0c;新来的人排在队尾&#xff0c;不能插队。 可见&#x…

(十 四)趣学设计模式 之 策略模式!

目录 一、 啥是策略模式&#xff1f;二、 为什么要用策略模式&#xff1f;三、 策略模式的实现方式四、 策略模式的优缺点五、 策略模式的应用场景六、 总结 &#x1f31f;我的其他文章也讲解的比较有趣&#x1f601;&#xff0c;如果喜欢博主的讲解方式&#xff0c;可以多多支…

探秘基带算法:从原理到5G时代的通信变革【三】Turbo 编解码

文章目录 2.2 Turbo 编解码2.2.1 基本概念与系统构成2.2.2 编码过程分步解析交织器递归系统卷积编码器复接器总结 2.2.3 译码算法分类与原理Turbo码的强大主要来源于其解码器理论基础解码过程详解交织与解交织译码算法总结 2.2.4 Turbo码的应用场景无线通信卫星通信深空通信 2.…

Yocto + 树莓派摄像头驱动完整指南

—— 从驱动配置、Yocto 构建&#xff0c;到 OpenCV 实战 在树莓派上运行摄像头&#xff0c;在官方的 Raspberry Pi OS 可能很简单&#xff0c;但在 Yocto 项目中&#xff0c;需要手动配置驱动、设备树、软件依赖 才能确保摄像头正常工作。本篇文章从 BSP 驱动配置、Yocto 关键…

TCP协议(20250304)

1. TCP TCP: 传输控制协议&#xff08;Transmission Control Protocol&#xff09;&#xff0c;传输层协议之一&#xff08;TCP&#xff0c;UDP&#xff09; 2. TCP与UDP UDP&#xff08;用户数据报协议&#xff09; 面向数据报无连接不安全不可靠&#xff08;尽最大努力交…

NModbus 连接到Modbus服务器(Modbus TCP)

1、在项目中通过NuGet添加NModbus&#xff0c;在界面中添加一个Button。 using NModbus.Device; using NModbus; using System.Net.Sockets; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Docu…

BUU44 [BJDCTF2020]ZJCTF,不过如此1 [php://filter][正则表达式get输入数据][捕获组反向引用][php中单双引号]

题目&#xff1a; 我仿佛见到了一位故人。。。也难怪&#xff0c;题目就是ZJCTF 按要求提交/?textdata://,I have a dream&filenext.php后&#xff1a; ......不太行&#xff0c;好像得用filephp://filter/convert.base64-encode/resourcenext.php 耶&#xff1f;那 f…

[Web 安全] PHP 反序列化漏洞 —— POP 链构造思路

关注这个专栏的其他相关笔记&#xff1a;[Web 安全] 反序列化漏洞 - 学习笔记-CSDN博客 0x01&#xff1a;什么是 POP 链&#xff1f; POP 链&#xff08;Payload On Purpose Chain&#xff09;是一种利用 PHP 中的魔法方法进行多次跳转以获取敏感数据的技术。它通常出现在 CTF…

DeepSeek 助力 Vue3 开发:打造丝滑的网格布局(Grid Layout)

前言&#xff1a;哈喽&#xff0c;大家好&#xff0c;今天给大家分享一篇文章&#xff01;并提供具体代码帮助大家深入理解&#xff0c;彻底掌握&#xff01;创作不易&#xff0c;如果能帮助到大家或者给大家一些灵感和启发&#xff0c;欢迎收藏关注哦 &#x1f495; 目录 Deep…

Golang语法特性总结

1.认识Golang代码特性 package main //1.包含main函数的文件就是一个main包--当前程序的包名// import "fmt" // import "time" import("fmt""time" )//3.同时包含多个包 4.强制代码风格:函数的 { 一定和函数名在同一行&#xff0c;否…

AI赋能校园安全:科技助力预防与应对校园霸凌

校园本应是学生快乐学习、健康成长的地方&#xff0c;然而&#xff0c;校园霸凌却成为威胁学生身心健康的隐形“毒瘤”。近年来&#xff0c;随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;AI在校园安全领域的应用逐渐成为解决校园霸凌问题的新突破口。通过…

易语言模拟真人鼠标轨迹算法 - 防止游戏检测

一.简介 鼠标轨迹算法是一种模拟人类鼠标操作的程序&#xff0c;它能够模拟出自然而真实的鼠标移动路径。 鼠标轨迹算法的底层实现采用C/C语言&#xff0c;原因在于C/C提供了高性能的执行能力和直接访问操作系统底层资源的能力。 鼠标轨迹算法具有以下优势&#xff1a; 模拟…