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

day14:栈排序

问题描述: 

栈排序。 编写程序,对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据,但不得将元素复制到别的数据结构(如数组)中。该栈支持如下操作:pushpoppeek 和 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]

说明:

  1. 栈中的元素数目在[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:栈排序

问题描述&#xff1a; 栈排序。 编写程序&#xff0c;对栈进行排序使最小元素位于栈顶。最多只能使用一个其他的临时栈存放数据&#xff0c;但不得将元素复制到别的数据结构&#xff08;如数组&#xff09;中。该栈支持如下操作&#xff1a;push、pop、peek 和 isEmpty。当栈…...

【LeetCode:2368. 受限条件下可到达节点的数目 + BFS】

&#x1f680; 算法题 &#x1f680; &#x1f332; 算法刷题专栏 | 面试必备算法 | 面试高频算法 &#x1f340; &#x1f332; 越难的东西,越要努力坚持&#xff0c;因为它具有很高的价值&#xff0c;算法就是这样✨ &#x1f332; 作者简介&#xff1a;硕风和炜&#xff0c;…...

pyorbbecsdk奥比中光python版本SDK在Windows下环境配置笔记

1、概述 Orbbec SDK Python Wrapper基于Orbbec SDK进行设计封装&#xff0c;主要实现数据流接收&#xff0c;设备指令控制。 2、系统要求 2.1、操作系统 Windows&#xff1a;Windows 10 (x64)&#xff08;本文 针对windows&#xff09;Linux: 18.04/20.04/22.04 (x64)Arm32:…...

YOLOV8介绍

原文链接&#xff1a; 1、 详解YOLOv8网络结构/环境搭建/数据集获取/训练/推理/验证/导出 2、Yolov8的详解与实战 3、YOLOV8模型训练部署&#xff08;实战&#xff09;&#xff08;&#xff09;有具体部署和训练实现代码YOLOV8模型训练部署&#xff08;实战&#xff09;&…...

【ElfBoard】基于 Linux 的智能家居小项目

大家好&#xff0c;我是 Hello阿尔法&#xff0c;这段时间参与了保定飞凌嵌入式技术有限公司举办的 ElfBoard 共创社招募活动&#xff0c;并有幸成为了一名共创官&#xff0c;官方寄来了一块 ELF 1 开发板&#xff0c;开箱看这里 ELF 1 开箱初体验。 作为共创官&#xff0c;我…...

自动化测试介绍、selenium用法(自动化测试框架+爬虫可用)

文章目录 一、自动化测试1、什么是自动化测试&#xff1f;2、手工测试 vs 自动化测试3、自动化测试常见误区4、自动化测试的优劣5、自动化测试分层6、什么项目适合自动化测试 二、Selenuim1、小例子2、用法3、页面操作获取输入内容模拟点击清空文本元素拖拽frame切换窗口切换/标…...

深度学习的一个完整过程通常包括以下几个步骤

深度学习的一个完整过程通常包括以下几个步骤&#xff1a; 问题定义和数据收集&#xff1a; 定义清晰的问题&#xff0c;明确任务的类型&#xff08;分类、回归、聚类等&#xff09;以及预期的输出。收集和整理用于训练和评估模型的数据集。确保数据集的质量&#xff0c;进行预…...

WPS如何共享文件和文件夹

1 WPS共享单个文件 用WPS打开要分享的文件&#xff0c;点击右上角的“分享”键&#xff0c;选择上传到云端。 之后点击“创建并分享”&#xff0c;即可分享该文档。 2 WPS创建共享文件夹 2.1 如何共享文件夹 首先打开WPS&#xff0c;点击左上角的首页。在首页栏中&#…...

PowerData 2024“数字经济-城市开源行”活动预告

2023&#xff0c;社区经过一年的发展&#xff0c;凝聚起了一批热爱社区、热爱开源的小伙伴。 2024&#xff0c;社区计划在全国十个城市举办"数字经济-城市开源行"活动&#xff0c;连接社区成员、传播数字技术、推广开源文化&#xff0c;吸引更多伙伴加入社区&#xf…...

QT多语言切换功能

一.目的 在做项目时&#xff0c;有时希望我们的程序可以在不同的国家使用&#xff0c;这样最好的方式是一套程序能适应于多国语言。 Qt提供了这样的功能&#xff0c;使得一套程序可以呈现出不同的语言界面。本文将介绍QT如何实现多语言&#xff0c;以中文和英文为例。 QT开发…...

windows上elasticsearch的ik分词器的安装

下载 下载地址 在elasticsearch下的plugins文件夹下创建ik的文件夹 下载的ik压缩包解压到plugins/ik 重启elasticsearch 验证 http://ip:9200/_cat/plugins...

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的口罩识别系统(Python+PySide6界面+训练代码)

摘要&#xff1a;开发口罩识别系统对于提升公共卫生安全和疫情防控具有重要意义。本篇博客详细介绍了如何利用深度学习构建一个口罩识别系统&#xff0c;并提供了完整的实现代码。该系统基于强大的YOLOv8算法&#xff0c;并结合了YOLOv7、YOLOv6、YOLOv5的对比&#xff0c;给出…...

在Windows系统中启动Redis服务

前言 Redis是一个开源、高性能的键值对数据库&#xff0c;常用于缓存、消息队列等场景。本文将详细指导您如何在Windows系统上启动Redis服务。 第一步&#xff1a;确认Redis安装 确保您已经在Windows系统上成功安装了Redis。官方提供了预编译好的Windows版本&#xff0c;您可…...

k8s.gcr.io/pause:3.2镜像丢失解决

文章目录 前言错误信息临时解决推荐解决onetwo 前言 使用Kubernetes&#xff08;k8s&#xff09;时遇到了镜像拉取的问题&#xff0c;导致Pod沙盒创建失败。错误显示在尝试从k8s.gcr.io拉取pause:3.2镜像时遇到了超时问题&#xff0c;这通常是因为网络问题或者镜像仓库服务器的…...

全面整理!机器学习常用的回归预测模型

Datawhale干货 作者&#xff1a;曾浩龙&#xff0c;Datawhale意向成员 前言 回归预测建模的核心是学习输入 到输出 &#xff08;其中 是连续值向量&#xff09;的映射关系。条件期望 是 到 的回归函数。简单来说&#xff0c;就是将样本的特征矩阵映射到样本标签空间。 图…...

在vue中对keep-alive的理解,它是如何实现的,具体缓存的是什么?

对keep-alive的理解&#xff0c;它是如何实现的&#xff0c;具体缓存的是什么&#xff1f; &#xff08;1&#xff09;keep-alive有以下三个属性&#xff1a;注意&#xff1a;keep-alive 包裹动态组件时&#xff0c;会缓存不活动的组件实例。主要流程 &#xff08;2&#xff09…...

章节一、认识three.js与开发环境学习笔记01;

一、如何学习WEB可视化3D技术与课程内容演示&#xff1b; 1、项目案例&#xff1a; 政府有大量的新基建的项目&#xff1a;如数字孪生、智慧城市、智慧园区、智慧工厂、智慧消防等等都涉及了3d的可视化技术&#xff1b; 2、如何系统的学号WEB 3D可视化技术&#xff1f; three…...

QT摄像头采集

主界面为显示框&#xff0c;两个下拉框&#xff0c;一个是所有相机&#xff0c;一个是相机支持的分辨率 系统根据UI界面自动生成的部分不再描述&#xff0c;以下为其他部分源码 widget.h #include <QWidget> #include <QMouseEvent> class QCamera; class QCamer…...

C语言第三十四弹---动态内存管理(下)

✨个人主页&#xff1a; 熬夜学编程的小林 &#x1f497;系列专栏&#xff1a; 【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. 这不是“改个配置就完事”的活儿&#xff1a;一次真实漏洞扫描后的紧急响应现场上周五下午四点十七分&#xff0c;安全团队在例行基线扫描报告里标红了一行&#xff1a;“SSH服务启用弱加密算法&#xff08;arcfour、3des-cbc、blowfish-cbc等&#xff09;&#xff0c;CVSS评…...

未来趋势洞察:后端开发技术的前沿动态与发展方向

在数字化浪潮席卷全球的今天&#xff0c;后端开发作为支撑各类应用的核心力量&#xff0c;正经历着前所未有的变革。随着云计算、人工智能、物联网等新兴技术的迅猛发展&#xff0c;后端开发技术也在不断演进&#xff0c;呈现出一系列新的趋势和方向。本文将深入探讨未来后端开…...

AI驱动的红队渗透工具包:Nmap语义解析与Metasploit动态编排

1. 这不是“AI渗透”的营销噱头&#xff0c;而是一套能真正缩短红队作业链路的工程化工具包“基于AI的红队渗透测试工具包&#xff0c;集成Nmap与Metasploit等工具”——这个标题里藏着三个被行业长期忽视却极为关键的断层&#xff1a;信息过载与决策延迟的断层、工具孤岛与流程…...

June安全防护手册:保护你的论坛免受常见Web攻击的10个技巧

June安全防护手册&#xff1a;保护你的论坛免受常见Web攻击的10个技巧 【免费下载链接】june June is a forum (Deprecated) 项目地址: https://gitcode.com/gh_mirrors/ju/june 在当今数字时代&#xff0c;论坛安全防护已成为每个网站管理员必须面对的重要课题。June作…...

Unity游戏实时翻译工程化实践:从XUnity.AutoTranslator配置到本地化流水线构建

1. 这不是“加个插件就完事”的翻译方案&#xff0c;而是游戏本地化工程的起点你刚在Unity Asset Store里搜到XUnity.AutoTranslator&#xff0c;点开文档看到“支持实时翻译”“自动注入UI文本”&#xff0c;心里一热&#xff1a;终于能绕过繁琐的多语言资源表管理&#xff0c…...

2026最新免费图片去水印保姆级教程!这5种方法一次学会,第三种零门槛秒出图

你是不是也遇到过这种情况&#xff1f;好不容易在小红书、抖音上刷到一张绝美壁纸&#xff0c;保存下来却被水印破坏了整体美感&#xff1b;想把博主分享的干货截图保存&#xff0c;结果那个半透明的Logo刚好挡在关键数据上。别急&#xff0c;今天这篇教程就是为你准备的。 202…...

饲料颗粒机生产厂家

行业痛点分析&#xff1a;一场关于“磨损”与“成本”的持久战在饲料加工领域&#xff0c;颗粒机设备的稳定性与耐用性&#xff0c;直接决定了生产线的整体效率与运营成本。然而&#xff0c;长期困扰行业的核心痛点之一&#xff0c;是磨盘与压辊的耐磨性问题。根据行业调研数据…...

OpenSSH用户枚举漏洞CVE-2018-15473深度解析与修复指南

1. 这个漏洞不是“能被爆破密码”&#xff0c;而是“连用户名都藏不住”OpenSSH用户枚举漏洞&#xff08;CVE-2018-15473&#xff09;在2018年7月被公开时&#xff0c;很多运维同学第一反应是&#xff1a;“哦&#xff0c;又是密码爆破相关&#xff1f;”——这个误解直接导致大…...

Gemini模型迭代、推理成本、合规折旧、业务适配率——四大价值损耗源深度拆解,附可落地的季度健康度自检表

更多请点击&#xff1a; https://codechina.net 第一章&#xff1a;Gemini生命周期价值分析 Gemini 模型作为 Google 推出的多模态大语言模型系列&#xff0c;其生命周期价值不仅体现在推理性能与响应速度上&#xff0c;更贯穿于训练、部署、监控、迭代与退役全过程。理解这一…...