牛客-栈、队列和stl 2022.10.12

栈、队列的python实现 说是困难其实就中等难度。很经常在BFS中使用队列。 阅读详情

昨天面试和笔试有点多,没时间刷了,写了两道水题感觉没必要记录,所以没有写。今天面了两家,笔了三家,抽空写了这么一道可以记录的题。

栈和排序

一开始的想法是寻找从n开始到1的序列,但是只能过7.51%,题解区的做法是:贪心思想,记录一个后缀的最大值数组,每次将数组元素入栈,然后比较栈顶元素和当前最大值,如果栈顶元素大于当前最大值,则出栈,直到小于为止。(还是没想明白为何一开始做法不对,明后几天继续想想)

#include<bits/stdc++.h>
using namespace std;
int main() {
    stack<int> p;
    int n;
    cin >> n;
    vector<int> q;
    for(int i = 0; i < n; i++) {
        int a;
        cin >> a;
        q.emplace_back(a);
    }
    vector<int> max1(n + 1, 0);
    for(int i = n - 1; i >= 0; i--) {
        if(i == n - 1)
            max1[i] = q[i];
        else
            max1[i] = max(max1[i + 1], q[i]);
    }
    vector<int> res;
    for(int i = 0; i < n; i++) {
        p.push(q[i]);
        while(!p.empty() && p.top() > max1[i + 1]) {
            res.emplace_back(p.top());
            p.pop();
        }
    }
    while(!p.empty()) {
        res.emplace_back(p.top());
        p.pop();
    }
    for(int i = 0; i < n; i++) {
        if(i == 0)
            cout << res[i];
        else
            cout << " " << res[i];
    }
    cout << endl;
    return 0;
}

TM1621/HT1621 段码LCD驱动器 TM1621 LCD 驱动器 阅读详情

相关推荐

【SPI-NAND】Linux驱动移植实战:从规格书解析到内核适配

本文详细解析了SPI-NAND Flash的Linux驱动移植实战,从规格书关键参数提取到内核MTD子系统适配。内容涵盖存储结构解析、命令集映射、设备树配置及厂商驱动开发,特别强调ECC校验、坏块管理等NAND特性处理,并提供了性能优化与测试验证的实用技巧。

weixin_27076351的博客 351

算法11.有效括号序列

11.给出一个仅包含字符’(‘,’)‘,’{‘,’}‘,’[‘和’]',的字符串,判断给出的字符串是否是合法的括号序列 括号必须以正确的顺序关闭,“()“和”()[]{}“都是合法的括号序列,但”(]“和”([)]“不合法。 示例1 输入:”()[]{}” 返回值:true 示例2 输入:“[]” 返回值:true 具体做法: step 1:创建辅助栈,遍历字符串。 step 2:每次遇到小括号的左括号、中括号的左括号、大括号的左括号,就将其对应的呦括号加入栈中,期待在后续遇到。 step 3:如果没有遇到

liu8490631的博客 584

在Unity3d使用yolov8的onnx模型

输出OUTPUTS是float32[1,35,8400],表示它会输出一个大小为[1, 35, 8400]的浮点数张量。这个输出张量的维度表示了检测到的目标的数量、每个目标的预测参数以及网格单元的数量。输出张量的第一个维度1表示检测到的目标数量。每个目标由35个值组成,表示目标的类别、置信度、边界框的坐标及10个特定点的位置。要取得8400个数据中置信度最高的数据,然后获取该数据其他channel的数据。运行结果:(蓝色是检测手的边框,红点是自定义的点),其中的四个数字分别表示不同的维度。

shenqingyu0605202324的博客 5601

牛客网 - [牛客假日团队赛5]Bad Hair Day(栈)

题目链接:https://ac.nowcoder.com/acm/contest/984/A/ 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld 题目描述 Some of Farmer John's N cows (1 ≤ N ≤ 80,000) are having a bad hair day! ...

ityanger的技术栈 2831

UE4载具性能调优指南:从参数设置到实战优化

本文详细解析了UE4载具性能调优的关键技巧,从WheeledVehicle类构建到轮子参数、传动系统设置,再到物理属性与操控调校。通过实战案例分享,帮助开发者优化载具的速度、加速度等核心性能,提升游戏体验。特别适合需要精细调校载具物理特性的开发者参考。

weixin_29019241的博客 469

Ubuntu下Vim创建属于自己的头部注释和代码模板

痛点 每次打开vim想写个C或者C++的程序都要把固定的模板敲一遍,是不是感觉非常的繁琐,能不能把Vim弄得像IDE那样新建一个文件直接生成对应的头部注释和代码模板,减少这些重复工作呢?下面我尽量详细的介绍实现的方法: 先看看新建文件后的效果 C语言格式效果 C++语言效果 方法: 使用命令 vi /etc/vim/vimrc 打开vimrc这个文件,然后复制以下代码至文件末尾的空白处即可! 修改vimrc文件里面的内容必须要用root管理员身份才能进行修改,修改时先切换至root身份即可。 "新建.

weixin_42137584的博客 1560

【牛客专项练习】数据结构—栈

数据结构——栈(先进后出)

weixin_42221791的博客 569

Ubuntu服务器通过IPV6端口转发搭建幻兽帕鲁私服实战

本文详细介绍了在Ubuntu服务器上通过IPV6端口转发搭建幻兽帕鲁私服的完整教程。针对只有公网IPV6地址的服务器环境,提供了从硬件检查、端口转发工具配置到游戏服务器安装的全流程解决方案,帮助玩家轻松实现多人联机游戏体验。

weixin_30652491的博客 490

牛客-50963.Editor(栈)

地址:https://ac.nowcoder.com/acm/problem/50963 思路:利用两个栈来分别存储下标前和下标后的元素,同时记录下标前的元素其前缀和以及答案即可。 Code: #include<iostream> using namespace std; const int MAX_N=1e6+5; int Q,sl,sr; int dl[MAX_N],dr[MAX_N]; int Sum[MAX_N],res[MAX_N]; int main() { ios::syn.

随风而行的博客 231

避坑指南:Abaqus网格划分中90%用户会遇到的5个质量陷阱(附解决方案)

本文深入剖析Abaqus网格划分中90%用户会遇到的5个典型质量陷阱,包括单元扭曲、扫掠网格失败、尺寸梯度控制等,并提供工程级解决方案。通过Python脚本和虚拟拓扑等技巧,帮助用户提升网格质量,确保有限元分析结果的可靠性,适用于CAE工程师和仿真分析师。

weixin_29243279的博客 98

【YOLO11改进 - 检测头】Detect_LSCD检测头:量化的检测头,进一步提升模型的检测效率和精度

【YOLO11改进 - 检测头】Detect_LSCD检测头:量化的检测头,进一步提升模型的检测效率和精度

专注于图像领域,主要研究内容包括计算机视觉和深度学习,特别是在图像分类、目标检测和图像生成等方面有深入的研究和实践经验。 4094

牛客刷题笔记--(栈专项练习)

知识点 题型 元素的出栈顺序 1两个栈共享一片连续内存空间时,为提高内存利用率,减少溢出机会,应把两个栈的栈底分别设在这片内存空间的两端(√)。 使用一个数组来存储两个栈,让一个栈的栈底为该数组的始端,另一个栈的栈底为该数组的末端,每个栈从各自的端点向中间延伸 2 下列关于栈的叙述中,错误的是 。(I、Ⅲ、Ⅳ) Ⅰ.采用非递归方式重写递归程序时必须使用栈 Ⅱ.函数调用时,系统要用栈保存必要的信息 Ⅲ.只要确定了入桟次序,即可确定出栈次序 Ⅳ.栈是一种受限的线性表,允许在其两端进行操作 I的反例:计算斐波拉契

想握住此生辽阔 6681

【逐函数讲解ORB_SLAM3源码】获取普通帧率、关键帧、IMU数据

获得imu的旋转 mRwc * mImuCalib.mTcb.rotationMatrix(); Sophus::SE3 mTwc 创建ORB_SLAM3系统 Create SLAM system. It initializes all system threads and gets ready to process frames. ORB_SLAM3::System SLAM(argv[1],argv[2],ORB_SLAM3::System::IMU_RGBD, true, 0, file_nam

小秋 AI SLAM 入门实战教程 1245

牛客竞赛语法入门班数组栈、队列和stl习题

牛客竞赛语法入门班数组栈、队列和stl习题 L 指纹锁 set ,自带排序功能 可重写排序函数 cmp,注意外边写的要写成 operator()operator()operator(),结构体内部的排序写成 operator<operator<operator< 代码中的排序函数这么理解: 假设 k=3k=3k=3,初始为空,插入一个 222,如果我们再插入一个 333,输出发现 setsetset 里边并没有 333,这时只有与 222 绝对值大于 333 的才能插入。 加入这个自定义

cosx_的博客 351

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

牛客-栈、队列和stl-2022.10.14

用数组模拟队列,用unordered_map记录每个名字的同学的位置,之后判断当前队列的第一个名字和出队的人的名字是否相同,如果相同则将头指针下标移动到下一个,符合排队规则的人数+1,否则更新当前位置之后的所有人的名字的位置(更新unordered_map)先记录小于最大数值的所有的质数,然后对于这些质数进行2次方,3次方,4次方求和的三重循环遍历,考虑到最大的质数数据范围小于一万,数据范围为10^3,所以直接遍历记录相加求和的结果即可。

Ls_attack的博客 249

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

stack __ queue(栈和队列)

下面用一些题来深入理解栈的压入、弹出序列_牛客题霸_牛客网这一题就不能找规律,这样就会陷入死胡同,正确的解法就是我们判断的一样我们判断就是通过想着一个模拟实现的栈,只要这个栈的top与出栈开头不同就入栈,相同pop最后看这个栈是否全出了这里里面用out来判断是否出完(若没出完就入,当入完的时候就是false)150. 逆波兰表达式求值 - 力扣(LeetCode)这里涉及到了表达式求解如正常的一个表达式 2+1*3这个表达式是前缀表达式,计算机是无法进行运算的,但是后缀表达式就可以。

xiaosuai168的博客 1204

牛客-栈、队列和stl 2022.10.16

统计最长的,连续的红色球数目。给定的数据是每个红色球和蓝色球和位置,其中一个位置上可以有多个红色球或者蓝色球。利用map能够自动排序的特性,进行遍历,统计当前区间内红色球的数目,当遇到蓝色球时,直接清零即可。

Ls_attack的博客 228

【c++】STL之stack和queue详解

⭐主体在数据结构初阶中,我们模拟实现了stack和queue,只能说我们知道栈和队列,但是栈和队列的底层是如何实现的我们就不得而知了,面对这个现象我们从新学习栈和队列,深度解剖。stack是一种容器适配器,其本质是数据结构中的栈。它是一种只能在一端进行插入和删除操作的线性表。stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。

AAlykk的博客 1427

栈,队列,优先级队列模拟实现

栈,队列,堆的模拟实现

m0_72873854的博客 544

【C++初阶】6.C++ 栈和队列详解(含模拟实现及其代码)

在 STL 文档中,

m0_68617924的博客 935

牛客刷题 用两个栈实现一个队列

解题思路:一个栈一直用来入队,想要出队时,使用另一个栈将第一个栈的元素全部倒过来。 class Solution { public: void push(int node) { stack1.push(node); } int pop() { if(stack2.empty()) { while(...

m0_37896011的博客 190

牛客竞赛语法入门班数组栈、队列和stl习题【未完成】

题单地址:https://ac.nowcoder.com/acm/contest/19850?from=acdiscuss 目录老子的全排列呢装进肚子牛牛的三角形[NOIP1998]拼数好串Rails栈和排序吐泡泡Keep In LineNumber指纹锁younik要排号 老子的全排列呢 #include<bits/stdc++.h> using namespace std; int a[15]; int main(void) { for(int i=0;i<8;i++) a[i].

辉小歌的博客 674

算法有悟--栈和队列部分

本文主要讲解了栈和队列的应用及相关算法题解。重点包括:1)用双栈实现队列和双端队列实现栈的方法;2)栈在括号匹配和相邻字符消除中的应用;3)单调队列解决滑动窗口最大值问题;4)堆的应用,如TopK问题、中位数查找等。文中详细介绍了各类数据结构的操作技巧,如栈的push/pop、队列的push_back/back、优先队列的声明等,并提供了多个经典问题的解决思路,如逆波兰表达式求值、字符串消消乐等。同时强调了容器适配器的特性及范围遍历的注意事项。

凡同学的博客 534

【C++_STL】优先级队列&反向迭代器详解

适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总结),该种模式是将一个类的接口转换成客户希望的另外一个接口。

菜菜成长为后端开发大佬 1007

牛客刷题笔记--(队列专项练习)

知识点总结 图的拓扑排序 深度优先 关键路径算法用的辅助数据结构是栈 树的层序遍历 图的广度优先遍历用的数据结构是队列 输入受限 的 双端队列 是指元素只能从 队列 的一 端输入 ,但可以从 队列 的两端 输出; 输出受限 的 双端队列 是指只有一端可以进行出队操作而从两端都可以进行入队操作的 队列。 题型 判断队列元素 输入受限 的 双端队列 出队列顺序 输出受限 的 双端队列 出队列顺序 刷题 1 循环队列的存储空间为 Q(1:100) ,初始状态为 front=rear=100 。经过一系列正常的入队

想握住此生辽阔 6184

栈与队列,优先队列与双端队列(C++)

优先队列是一种特殊的容器,他的最上层始终为最大(小)的元素,和堆非常类似优先级队列默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中元素构造成 堆的结构,因此priority_queue就是堆,所有需要用到堆的位置,都可以考虑使用priority_queue。注意: 默认情况下priority_queue是大堆模拟实现public:public:public:= last) {++first;T& top() {

z202331720425的博客 1481

STL简介

在了解了C++中的类和对象以及内存管理基本的知识后接下来我们将进入STL的学习,在此我们在本篇会先了解STL的由来以及大致了解STL的组成,接下来在之后的篇章中我将依次来学string、vector等,学习完STL之后相信你会进一步了解C++的魅力所在。接下来就开始STL初步的了解吧!

mljy.博客 1729
上一篇: 黑马程序员-IOS开发基础班之Objective-C第二天学习笔记
下一篇: 【无标题】
Ls_attack
博客等级 码龄10年 25粉丝 81原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值