代码随想录打卡第10天

news2024/11/24 8:52:20

232 用队列实现栈

image

两个栈一个负责入一个负责出。

class MyQueue {
    Stack<Integer> stackIn;
    Stack<Integer> stackOut;

    public MyQueue() {
        stackIn=new Stack<>();
        stackOut= new Stack<>();
    }
    
    public void push(int x) {
        stackIn.push(x);
    }
    
    public int pop() {
        moveStackIn();
        return stackOut.pop();
    }
    
    public int peek() {
        moveStackIn();
        return stackOut.peek();
    }
    
    public boolean empty() {
        return stackIn.isEmpty() && stackOut.isEmpty();
    }
    public void moveStackIn(){
        if(!stackOut.isEmpty()) return;
        while(!stackIn.isEmpty()){
            stackOut.push(stackIn.pop());
        }
    }
}

225 用队列实现栈

使用两个队列,第二个队列充当的是备份的作用

class MyStack {
    // q1作为主要的队列,其元素排列顺序和出栈顺序相同
    Queue<Integer> que1 = new ArrayDeque<>();
    // q2仅作为临时放置
    Queue<Integer> que2 = new ArrayDeque<>();

    public MyStack() {

    }

    public void push(int x) {
        while (que1.size() > 0) {
            que2.add(que1.poll());
        }
        que1.add(x);
        while (que2.size() > 0) {
            que1.add(que2.poll());
        }
    }

    public int pop() {
        return que1.poll();
    }

    public int top() {
        return que1.peek();
    }

    public boolean empty() {
        return que1.isEmpty();
    }
}

20 有效的括号

栈的经典题,要想好不匹配的情况
image

先将与左边匹配的右边括号放入栈中,如果遇到右边括号,则对比栈顶是否相同,如果相同则弹出,如果不同则返回false

class Solution {
    public boolean isValid(String s) {
        Deque<Character> que= new LinkedList<>();
        char ch;
        for(int i=0;i<s.length();i++){
            ch=s.charAt(i);
            if(ch=='('){
                que.push(')');
            }else if(ch=='['){
                que.push(']');
            }else if(ch=='{'){
                que.push('}');
            }else if(que.isEmpty()||ch!=que.peek()){
                return false;
            }else{
                que.pop();
            }
        }
        return que.isEmpty();
    }
}

1047 删除字符串中重复的元素

注意栈是用来存放的,还有p拼接字符串的字符顺序

class Solution {
    public String removeDuplicates(String s) {
        // ArrayDeque会比LinkedList在除了删除元素这一点外会快一点
        ArrayDeque<Character> que = new ArrayDeque<>();
        char ch;
        for (int i = 0; i < s.length(); i++) {
            ch = s.charAt(i);
            if (que.isEmpty() || ch != que.peek()) {
                que.push(ch);
            } else {
                que.pop();
            }
        }
        String res = "";
        while (!que.isEmpty()) {
            res = que.pop()+res;//注意顺序
        }
        return res;
    }
}

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

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

相关文章

axure9勾选多个删除,弹框显示多个中继器编号

文本框 情形是删除逗号 文本框内插入数据

分类预测|基于雪消融优化极端梯度提升的数据分类预测Matlab程序SAO-XGBoost 多特征输入多类别输出

分类预测|基于雪消融优化极端梯度提升的数据分类预测Matlab程序SAO-XGBoost 多特征输入多类别输出 文章目录 一、基本原理SAO&#xff08;雪消融智能优化算法&#xff09;回归预测中的应用XGBoost 回归预测基本原理SAO-XGBoost 流程 二、实验结果三、核心代码四、代码获取五、总…

Json数据解析报错 -TAB

表现&#xff1a; n8n 解析服务器的数据 报错 json 解析错误 原理&#xff1a; tab键 在代码中为 string tab \t解决办法&#xff1a;tab键替换4个空格 string tab "\t" tab.replaceAll("\t", " ")问题&#xff1a; tab 键 和 空格 在普…

特殊教育学校自闭症:提供个性化教学,满足孩子需求

在特殊教育领域&#xff0c;针对自闭症儿童的个性化教学已成为一种趋势&#xff0c;旨在通过量身定制的教育方案&#xff0c;最大限度地满足每位孩子的独特需求。星启帆自闭症儿童康复机构&#xff0c;作为广州地区的一颗璀璨明珠&#xff0c;正是这一理念的忠实践行者。 星启帆…

什么叫3d建模渲染?与云渲染农场关系

3D建模渲染行业是一个涉及多个行业和领域的技术过程&#xff0c;它不仅仅是一个特点行业的产物&#xff0c;而是广泛应用于产品设计、工业设计、环境设计、动画、游戏建模和影视CG等多个领域。那么3D建模渲染又与云渲染农场有什么关系呢&#xff0c;一起来简单看看吧。 什么叫3…

音频原始数据PCM

PCM全称是脉冲编码调制数据。PCM数据是未经过压的音频数据&#xff0c;它由模拟信号信号经过采样、编码等步骤抓换成的数字信号。 一、音频基础知识讲解 1.1频率 声音是由震动产生的&#xff0c;所以声音是有频率的&#xff0c;人类可以听到的声音频率大概在20HZ~20KHZ 1.2振…

宠物空气净化器真的有用吗?去浮毛好用的宠物空气净化器推荐

不知不觉我已经养宠五年了&#xff0c;一人两猫作伴的日子充满着幸福&#xff0c;可猫毛的存在偶尔也会让小家出现裂缝。每当换毛季&#xff0c;我的鼻子就率先作出反应&#xff0c;瘙痒加上止不住喷嚏都在反映着不佳的空气质量。这都是因为猫咪疯狂掉毛&#xff0c;浮毛上附着…

最新车型库大全|阿里云实现调用API接口

整体请求流程&#xff1a; 介绍&#xff1a; 本次解析通过阿里云云市场的云服务来实现查询车型库大全查询&#xff0c;首先需要选择一家可以提供查询的商品。 [探数API]车型库查询_API专区_云市场-阿里云 步骤1: 选择商品 如图点击免费试用&#xff0c;即可免费申请该接口数…

Power BI Desktop突然自动关闭如何恢复未保存的开发内容?

故事背景 今天有位同事在用Power BI Desktop开发报告的时候&#xff0c;Power BI Desktop软件突然自动关闭时&#xff0c;更让同事郁闷的是开发了两个小时的报告内容还未点击保存&#xff01; 同事非常担心会丢失未保存的报告开发内容&#xff0c;找我寻求帮助如何恢复未保存…

无人机培训校企合作技术详解

随着无人机技术的飞速发展&#xff0c;其在航拍、农业、环境监测、应急救援等多个领域展现出巨大的应用潜力&#xff0c;市场对无人机专业人才的需求也日益增长。因此&#xff0c;加强无人机培训领域的校企合作&#xff0c;成为培养高素质无人机技术人才的重要途径。本文将从合…

企业为什么要使用加密软件?哇!原来有这么多好处呢

1、防止内部泄密&#xff1a;加密软件可以限制文件的访问权限&#xff0c;防止机密文件在公司内部随意流转。 2、访问控制&#xff1a;加密软件可以设定严格的访问控制策略&#xff0c;确保只有授权用户才能访问敏感数据。 3、提升数据恢复能力&#xff1a;通过加密备份数据&…

redis学习(011 实战:黑马点评:优惠券秒杀:redis实现全局唯一ID)

黑马程序员Redis入门到实战教程&#xff0c;深度透析redis底层原理redis分布式锁企业解决方案黑马点评实战项目 总时长 42:48:00 共175P 此文章包含第48p-第p49的内容 文章目录 全局唯一ID编码 全局唯一ID //String did dao.haveKeyId(“deputybedthing”); 这里的主键并没有…

基于微信小程序在线订餐系统

微信小程序在线订餐系统 摘要 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的实施在技术上已逐步成熟。本文介绍了微信小程序在线订餐系统的开发全过程。通过分析微信小程序在线订餐系统管理的不足&#xff0c;创建了一个计算机管理微信小程序在线订…

惠中科技光伏清洗剂:科技创新引领绿色清洁新风尚

惠中科技光伏清洗剂&#xff1a;科技创新引领绿色清洁新风尚 在光伏产业蓬勃发展的今天&#xff0c;光伏板的清洁问题日益凸显&#xff0c;成为影响发电效率的关键因素之一。面对传统清洗方法效率低、成本高、环境影响大等痛点&#xff0c;惠中科技以科技创新为驱动&#xff0…

sqlserver 如何收缩+最大化压缩数据库

zihao 直接运行即可 -- 最大化压缩数据库 USE [数据库名称]; -- 这里必须填写库名称 GO EXEC sp_MSforeachtable ALTER TABLE ? REBUILD PARTITION ALL WITH (DATA_COMPRESSION PAGE);;-- 收缩数据库 DBCC SHRINKDATABASE (N数据库名称, 1); -- 这里必须填写库名称 GO

COB超微小间距LED显示屏是什么,它的性价比怎么样,市场大有可为

COB&#xff08;Chip on Board&#xff09;技术最早发源于上世纪60年代&#xff0c;是将LED芯片直接封装在PCB电路板上&#xff0c;并用特种树脂做整体覆盖。COB实现“点” 光源到“面” 光源的转换。点间距有P0.3、P0.4、P0.5、P0.6、P0.7、P0.9、P1.25、P1.538、P1.5625、P1.…

【STM32+HAL库】---- 通用定时器PWM输出实现呼吸灯

硬件开发板&#xff1a;STM32G0B1RET6 软件平台&#xff1a;cubemaxkeilVScode1 新建cubemax工程 1.1 配置系统时钟RCC 1.2 配置定时器 找到LED所对应的引脚PA5&#xff0c;选择TIM2_CH1模式 在TIM2中&#xff0c;时钟源选择内部时钟Internal Clock&#xff0c;通道1选择PWM…

外业精灵实时查看区域等高线(如何显示等高线的高程值)

0.序 图新地球桌面端的等高线预览&#xff0c;既可以看到等高线&#xff0c;也能看到等高线的高程值。 而等高线生成功能&#xff0c;只有等高线没有高程值&#xff08;多少米&#xff09;的点标注。 导致生成的等高线不论是在图新地球桌面端、外业精灵&#xff08;手机端&…

深入探索Go语言中的指针:内存操作的艺术

首先&#xff0c;尽管指针&#xff08;pointer&#xff09;和switch语句在概念上并无直接联系&#xff0c;但本文将它们并置讨论的原因在于&#xff1a;这两个编程概念在实际学习和应用过程中常被编程人员所忽视。 对于指针的使用&#xff0c;初学者往往因其概念的抽象性和操作…

OpenGL/GLUT实践:弹簧-质量-阻尼系统模拟摆动的绳子和布料的物理行为(电子科技大学信软图形与动画Ⅱ实验)

源码见GitHub&#xff1a;A-UESTCer-s-Code 文章目录 1 实现效果2 实现过程2.1 一维弹性物体模拟2.1.1 质点类&#xff08;Mass&#xff09;2.1.2 弹簧类&#xff08;Spring&#xff09;2.1.3 模拟类&#xff08;RopeSimulation&#xff09;2.1.4 openGL实现 2.2 二维弹性物体…