leetcode 155 Min Stack C++

本文介绍了一种使用两个栈来实现带有获取最小元素功能的数据结构的方法。主要思路是在每次入栈时只将小于等于当前最小值的元素存入辅助栈中,以此来快速定位到最小值。

用一个最小栈去维护最小值。

最小栈只入栈比当前值小的值。

因为在这个最小值后面进来的所有值中,最小值一直是这一个。


class MinStack {
private:
    stack<int> stk;
    stack<int> min;
public:
    /** initialize your data structure here. */
    MinStack() {
        
    }
    
    void push(int x) {
        stk.push(x);
        if(min.empty() || min.top()>=x) min.push(x);
    }
    
    void pop() {
        if(stk.top()==min.top()) {min.pop();stk.pop();}
        else stk.pop();
    }
    
    int top() {
        return stk.top();
    }
    
    int getMin() {
        return min.top();
    }
};


内容概要:本文详细介绍了基于C#语言实现的一个高效的Socket通信客户端工具库,该工具库主要用于物联网项目中,能够有效应对网络不稳定情况下的数据传输问题。文中首先展示了如何通过几行简洁的代码激活并使用该工具库进行基本的数据发送和接收操作。接着深入探讨了工具库的核心特性,如多线程管理、断线重连机制以及数据发送队列的管理。此外,还提到了一些实用的功能,例如处理粘包现象的方法、提供多种发送方式的选择、以及针对特定应用场景的优化建议。最后给出了完整的使用示例,包括初始化连接、发送命令、接收反馈等步骤。适合人群:对于从事物联网开发或者需要在网络环境中进行可靠数据交换的研发人员而言,尤其是熟悉C#编程并且希望找到一种简便易用的方式来构建稳定可靠的Socket通信系统的开发者。使用场景及目标:适用于需要快速搭建稳定Socket通信模块的物联网项目,旨在帮助开发者节省开发时间和精力,同时提高系统的健壮性和效率。具体应用场合包括但不限于智能家居控制系统、工业自动化设备之间的通讯协议实现等。其他说明:该工具库已经过多个实际项目的检验,在面对复杂网络环境时表现出色,能够在保持较低CPU占用率的同时维持较高的数据吞吐量。附带的压力测试案例可以帮助用户更好地理解和评估其性能表现。
高管动态:Stkcd [证券代码] - 以交易所公布的证券代码为准。Reptdt [统计截止日期] - 以YYYY-MM-DD列示,部分缺少在相应位置上以00表示,如1993年12月某日表示为1993-12-00。基本情况统计的截止日期D0101b [姓名] - 上市公司董事、监事、高级管理人员的姓名。D0201a [职务类别] - 10位编码。一至二位标识董事会监事会任职情况,10=董事(常务、代理等),11=董事长(副),12=独立董事,13=董事局主席(副),14=其他;20=监事(副),21=监事会主席(副),22=职工监事,23=其他三至六位表示高级管理层任职情况,30=总经理(副),31=经理(副),32=总裁(副),33=董秘,34=负责人,35=主管(副),36=顾问,37=CEO,38=总监,39=其他;七至八位表示企业任职情况,40=部长(副),41=局长(副),42=处长(副),43=主任(副),44=书记(副),45=工会主席(副),46=其他;最后两位表示具体管理方向,A=财务,B=工程,C=技术,D=信息,E=法律,F=人力资源,G=市场,H=运营,I=行政,J=投资,K=生产,L=质量,M=其他,N=无具体管理方向空位用“0”表示例如:董事、副总经理、总会计师、董事会秘书表示为10303300AND0201b [具体职务] - 具体职位名称。D0301b [性别] - D0401b [年龄] - -9666=未披露。D0501b [教育背景] - 1=中专及中专以下,2=大专,3=本科,4=硕士研究生,5=博士研究生,6=其他(以其他形式公布的学历,具体见该记录的备注)。D0601b [职称] - 未披露用N/A表示D0701b [现职任职开始日期] - 以YYYY-MM-DD列示,部分缺少在相应位置上以00表示,如1993年12月某日表示为1993-12-00。D0702b [现职任职结束日期] - 以YYYY-MM-DD列示,部分缺少在相应位置上以00表示,如1993年12月某日表示为1993-12-00。D0801c [高管个人简历] - D1301b [备注] - 特殊情况备份。D0901b [是否领取薪酬] - 是否在上市公司领取薪酬(如果在上市公司只领取津贴,则视为2处理)1=在上市公司领取薪酬,2=未在上市公司领取薪酬。D1001b [报告期报酬总额] - 未披露用-9666表示D1002b [其中:津贴] - 未披露用-9666表示D1101b [年末持股数] - 未披露用-9666表示D1201b [其他单位兼任标识] - 是否在除上市公司外的其他单位有兼任职务。1=有兼任,2=无兼任。当该字段等于1时,表十有意义。此字段从2005年开始,以前年度无意义用0表示。股东持股:Stkcd [证券代码] - 以交易所公布的证券代码为准。Reptdt [统计截止日期] - 以YYYY-MM-DD列示,部分缺少在相应位置上以00表示,如1993年12月某日表示为1993-12-00。基本情况统计的截止日期S0101b [股东名称] - 上市公司所披露的股东名称。S0201b [持股数量] - 未披露用-9666表示S0301b [持股比例(%)] - 未披露用-9666表示S0401b [股份性质] - 未披露用N/A表示S0601b [备注] - 为2001年数据更新时新增字段S0501b [持股排名] - 该股东在10大股东内排名。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值