day14:栈排序
问题描述:
栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈为空时,peek 返回 -1。
示例1:
输入: ["SortedStack", "push", "push", "peek", "pop", "peek"] [[], [1], [2], [], [], []] 输出: [null,null,null,1,null,2]
示例2:
输入: ["SortedStack", "pop", "pop", "push", "pop", "isEmpty"] [[], [], [], [1], [], []] 输出: [null,null,null,null,null,true]
说明:
- 栈中的元素数目在[0, 5000]范围内。
解决方案:
1、分析题目:用两个栈(主栈+辅助栈)实现排序算法,返回主栈
2、栈顶元素比较:主栈 始终为较大的值,辅助栈 始终为小值
注:辅助栈中始终为降序出栈(先大后小)
3、循环判断:如果 主栈 中栈顶元素 < 待输入值(val),该元素归入 辅助栈里。
例:1,3,2
(1)1--> 主栈
(2)1<3:1-->辅助栈,3-->主栈,1-->主栈
(3)1<2:同上,结果:主栈(3)辅助栈(1)
第二次判断:3>2 :2 直接放入 主栈,合并辅助栈,即主栈(1,2,3)
函数代码:
class SortedStack { public:stack<int> num;stack<int> tmp;SortedStack() {}void push(int val) {while(!num.empty() && num.top()<val){tmp.push(num.top());num.pop();}num.push(val);while(!tmp.empty()){num.push(tmp.top());tmp.pop();}}void pop() {if(!num.empty()) num.pop();}int peek() {if(num.empty()) return -1;return num.top();}bool isEmpty() {return num.empty();} };
相关文章:
day14:栈排序
问题描述: 栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:push、pop、peek 和 isEmpty。当栈…...
【LeetCode:2368. 受限条件下可到达节点的数目 + BFS】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
pyorbbecsdk奥比中光python版本SDK在Windows下环境配置笔记
1、概述 Orbbec SDK Python Wrapper基于Orbbec SDK进行设计封装,主要实现数据流接收,设备指令控制。 2、系统要求 2.1、操作系统 Windows:Windows 10 (x64)(本文 针对windows)Linux: 18.04/20.04/22.04 (x64)Arm32:…...
YOLOV8介绍
原文链接: 1、 详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出 2、Yolov8的详解与实战 3、YOLOV8模型训练部署(实战)()有具体部署和训练实现代码YOLOV8模型训练部署(实战)&…...
【ElfBoard】基于 Linux 的智能家居小项目
大家好,我是 Hello阿尔法,这段时间参与了保定飞凌嵌入式技术有限公司举办的 ElfBoard 共创社招募活动,并有幸成为了一名共创官,官方寄来了一块 ELF 1 开发板,开箱看这里 ELF 1 开箱初体验。 作为共创官,我…...
自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)
文章目录 一、自动化测试1、什么是自动化测试?2、手工测试 vs 自动化测试3、自动化测试常见误区4、自动化测试的优劣5、自动化测试分层6、什么项目适合自动化测试 二、Selenuim1、小例子2、用法3、页面操作获取输入内容模拟点击清空文本元素拖拽frame切换窗口切换/标…...
深度学习的一个完整过程通常包括以下几个步骤
深度学习的一个完整过程通常包括以下几个步骤: 问题定义和数据收集: 定义清晰的问题,明确任务的类型(分类、回归、聚类等)以及预期的输出。收集和整理用于训练和评估模型的数据集。确保数据集的质量,进行预…...
WPS如何共享文件和文件夹
1 WPS共享单个文件 用WPS打开要分享的文件,点击右上角的“分享”键,选择上传到云端。 之后点击“创建并分享”,即可分享该文档。 2 WPS创建共享文件夹 2.1 如何共享文件夹 首先打开WPS,点击左上角的首页。在首页栏中&#…...
PowerData 2024“数字经济-城市开源行”活动预告
2023,社区经过一年的发展,凝聚起了一批热爱社区、热爱开源的小伙伴。 2024,社区计划在全国十个城市举办"数字经济-城市开源行"活动,连接社区成员、传播数字技术、推广开源文化,吸引更多伙伴加入社区…...
QT多语言切换功能
一.目的 在做项目时,有时希望我们的程序可以在不同的国家使用,这样最好的方式是一套程序能适应于多国语言。 Qt提供了这样的功能,使得一套程序可以呈现出不同的语言界面。本文将介绍QT如何实现多语言,以中文和英文为例。 QT开发…...
windows上elasticsearch的ik分词器的安装
下载 下载地址 在elasticsearch下的plugins文件夹下创建ik的文件夹 下载的ik压缩包解压到plugins/ik 重启elasticsearch 验证 http://ip:9200/_cat/plugins...
基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的口罩识别系统(Python+PySide6界面+训练代码)
摘要:开发口罩识别系统对于提升公共卫生安全和疫情防控具有重要意义。本篇博客详细介绍了如何利用深度学习构建一个口罩识别系统,并提供了完整的实现代码。该系统基于强大的YOLOv8算法,并结合了YOLOv7、YOLOv6、YOLOv5的对比,给出…...
在Windows系统中启动Redis服务
前言 Redis是一个开源、高性能的键值对数据库,常用于缓存、消息队列等场景。本文将详细指导您如何在Windows系统上启动Redis服务。 第一步:确认Redis安装 确保您已经在Windows系统上成功安装了Redis。官方提供了预编译好的Windows版本,您可…...
k8s.gcr.io/pause:3.2镜像丢失解决
文章目录 前言错误信息临时解决推荐解决onetwo 前言 使用Kubernetes(k8s)时遇到了镜像拉取的问题,导致Pod沙盒创建失败。错误显示在尝试从k8s.gcr.io拉取pause:3.2镜像时遇到了超时问题,这通常是因为网络问题或者镜像仓库服务器的…...
全面整理!机器学习常用的回归预测模型
Datawhale干货 作者:曾浩龙,Datawhale意向成员 前言 回归预测建模的核心是学习输入 到输出 (其中 是连续值向量)的映射关系。条件期望 是 到 的回归函数。简单来说,就是将样本的特征矩阵映射到样本标签空间。 图…...
在vue中对keep-alive的理解,它是如何实现的,具体缓存的是什么?
对keep-alive的理解,它是如何实现的,具体缓存的是什么? (1)keep-alive有以下三个属性:注意:keep-alive 包裹动态组件时,会缓存不活动的组件实例。主要流程 (2)…...
章节一、认识three.js与开发环境学习笔记01;
一、如何学习WEB可视化3D技术与课程内容演示; 1、项目案例: 政府有大量的新基建的项目:如数字孪生、智慧城市、智慧园区、智慧工厂、智慧消防等等都涉及了3d的可视化技术; 2、如何系统的学号WEB 3D可视化技术? three…...
QT摄像头采集
主界面为显示框,两个下拉框,一个是所有相机,一个是相机支持的分辨率 系统根据UI界面自动生成的部分不再描述,以下为其他部分源码 widget.h #include <QWidget> #include <QMouseEvent> class QCamera; class QCamer…...
C语言第三十四弹---动态内存管理(下)
✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 动态内存管理 1、动态内存经典笔试题分析 1.1、题目1 1.2、题目2 1.3、题目3 1.4、题目4 2、柔性数组 2.1、柔性数组的特点 2.2、柔性数组的使用 2.3、…...
PDN分析及应用系列二-简单5V电源分配-Altium Designer仿真分析-AD
PDN分析及应用系列二 —— 案例1:简单5V电源分配 预模拟DC网络识别 当最初为PCB设计打开PDN分析仪时,它将尝试根据公共电源网络命名法从设计中识别所有直流电源网络。 正确的DC网络识别对于获得最准确的模拟结果非常重要。 在示例项目中已经识别出主DC网络以简化该过程。 …...
RAGFlow源码解析-4、文档处理(deepdoc)(第二周)
一、文档解析器工厂架构详解 1.1 deepdoc/parser/init.py解析器工厂完整解析 代码完整解析(40行) # Licensed under the Apache License, Version 2.0 (the "License"); # you may obtain a copy of the License at # # http://www.apache.org/licenses/LIC…...
CentOS 7 SSH弱加密算法加固实战指南
1. 这不是“改个配置就完事”的活儿:一次真实漏洞扫描后的紧急响应现场上周五下午四点十七分,安全团队在例行基线扫描报告里标红了一行:“SSH服务启用弱加密算法(arcfour、3des-cbc、blowfish-cbc等),CVSS评…...
未来趋势洞察:后端开发技术的前沿动态与发展方向
在数字化浪潮席卷全球的今天,后端开发作为支撑各类应用的核心力量,正经历着前所未有的变革。随着云计算、人工智能、物联网等新兴技术的迅猛发展,后端开发技术也在不断演进,呈现出一系列新的趋势和方向。本文将深入探讨未来后端开…...
AI驱动的红队渗透工具包:Nmap语义解析与Metasploit动态编排
1. 这不是“AI渗透”的营销噱头,而是一套能真正缩短红队作业链路的工程化工具包“基于AI的红队渗透测试工具包,集成Nmap与Metasploit等工具”——这个标题里藏着三个被行业长期忽视却极为关键的断层:信息过载与决策延迟的断层、工具孤岛与流程…...
June安全防护手册:保护你的论坛免受常见Web攻击的10个技巧
June安全防护手册:保护你的论坛免受常见Web攻击的10个技巧 【免费下载链接】june June is a forum (Deprecated) 项目地址: https://gitcode.com/gh_mirrors/ju/june 在当今数字时代,论坛安全防护已成为每个网站管理员必须面对的重要课题。June作…...
Unity游戏实时翻译工程化实践:从XUnity.AutoTranslator配置到本地化流水线构建
1. 这不是“加个插件就完事”的翻译方案,而是游戏本地化工程的起点你刚在Unity Asset Store里搜到XUnity.AutoTranslator,点开文档看到“支持实时翻译”“自动注入UI文本”,心里一热:终于能绕过繁琐的多语言资源表管理,…...
2026最新免费图片去水印保姆级教程!这5种方法一次学会,第三种零门槛秒出图
你是不是也遇到过这种情况?好不容易在小红书、抖音上刷到一张绝美壁纸,保存下来却被水印破坏了整体美感;想把博主分享的干货截图保存,结果那个半透明的Logo刚好挡在关键数据上。别急,今天这篇教程就是为你准备的。 202…...
饲料颗粒机生产厂家
行业痛点分析:一场关于“磨损”与“成本”的持久战在饲料加工领域,颗粒机设备的稳定性与耐用性,直接决定了生产线的整体效率与运营成本。然而,长期困扰行业的核心痛点之一,是磨盘与压辊的耐磨性问题。根据行业调研数据…...
OpenSSH用户枚举漏洞CVE-2018-15473深度解析与修复指南
1. 这个漏洞不是“能被爆破密码”,而是“连用户名都藏不住”OpenSSH用户枚举漏洞(CVE-2018-15473)在2018年7月被公开时,很多运维同学第一反应是:“哦,又是密码爆破相关?”——这个误解直接导致大…...
Gemini模型迭代、推理成本、合规折旧、业务适配率——四大价值损耗源深度拆解,附可落地的季度健康度自检表
更多请点击: https://codechina.net 第一章:Gemini生命周期价值分析 Gemini 模型作为 Google 推出的多模态大语言模型系列,其生命周期价值不仅体现在推理性能与响应速度上,更贯穿于训练、部署、监控、迭代与退役全过程。理解这一…...
