代码随想录day9

电路板保险丝如何选型 在电路板保险丝选型过程中,需要考虑多个因素以确保其适合特定的电路需求。最后,经过以上程序选定的样品需要在实际的电路中进行测试,以验证所选择的保险丝是否合适。 阅读详情

栈和队列 1

用栈实现队列

请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):

实现 MyQueue 类:

  • void push(int x) 将元素 x 推到队列的末尾
  • int pop() 从队列的开头移除并返回元素
  • int peek() 返回队列开头的元素
  • boolean empty() 如果队列为空,返回 true ;否则,返回 false

思路:

需要两个栈一个输入栈,一个输出栈

在push数据的时候,只要数据放进输入栈就好,但在pop的时候,操作就复杂一些,输出栈如果为空,就把进栈数据全部导入进来(注意是全部导入),再从出栈弹出数据,如果输出栈不为空,则直接从出栈弹出数据就可以了。

class MyQueue {

    Stack<Integer> stack1;
    Stack<Integer> stack2;

    public MyQueue() {
        stack1 = new Stack<>();
        stack2 = new Stack<>();
    }

    public void push(int x) {
        stack1.push(x);
    }

    public int pop() {
        if (stack2.isEmpty()) {
            while (!stack1.isEmpty()) {
                stack2.push(stack1.pop());
            }
        } 
        return stack2.pop();
    }

    public int peek() {
        if (stack2.isEmpty()) {
            while (!stack1.isEmpty()) {
                stack2.push(stack1.pop());
            }
        }
            
        return stack2.peek();
        
    }

    public boolean empty() {
        if(stack1.isEmpty() && stack2.isEmpty())
            return true;
        return false;
    }
}

用队列实现栈

请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。

实现 MyStack 类:

  • void push(int x) 将元素 x 压入栈顶。
  • int pop() 移除并返回栈顶元素。
  • int top() 返回栈顶元素。
  • boolean empty() 如果栈是空的,返回 true ;否则,返回 false 。

思路

用两个队列que1和que2实现队列的功能,que2其实完全就是一个备份的作用,把que1最后面的元素以外的元素都备份到que2,然后弹出最后面的元素,再把其他元素从que2导回que1。

class MyStack {

    Deque<Integer> A;
    Deque<Integer> B;

    public MyStack() {
        A = new ArrayDeque<>();
        B = new ArrayDeque<>();
    }

    // 队列交换,移到末尾
    public void push(int x) {
        B.offer(x);
        while (!A.isEmpty()) {
            B.offer(A.poll());
        }
        // 队列交换
        Deque<Integer> tmp = A;
        A = B;
        B = tmp;
    }

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

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

    public boolean empty() {
        return A.isEmpty();
    }
}
大中型超市收银系统(可直接运行) 光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开 立即下载

相关推荐

B站李沐讲论文笔记AlexNet

B站李沐讲论文笔记AlexNet

夏知识不进脑子薇的博客 789

代码随想录Day9

使用栈实现队列的下列操作:push(x) – 将一个元素放入队列的尾部。pop() – 从队列首部移除元素。peek() – 返回队列首部的元素。empty() – 返回队列是否为空。AC代码。

HNTZB的博客 803

Q学习(Q-learning)入门小例子及python实现

一、从马尔科夫过程到Q学习 # 有一定基础的读者可以直接看第二部分 Q学习(Q-learning)算法是一种与模型无关的强化学习算法,以马尔科夫决策过程(Markov Decision Processes, MDPs)为理论基础。 标准的马尔科夫决策过程可以用一个五元组<S,A,P,R,γ>表示,其中: S是一个离散有界的状态空间; A是一个离散的动作空间; P为状态转...

wlm_py的博客 4万+

代码随想录算法训练营day9

今天是算法营的第9天,希望自己能够坚持下来!今日任务:●151.翻转字符串里的单词●卡码网:55.右旋转字符串●28. 实现 strStr()●459.重复的子字符串●字符串总结●双指针回顾今天主要是学习了:1.字符串反转先整体反转后局部反转的解题思路2.kmp的初体验…有点晕QAQ还需要再多多做题加深理解明天继续加油!

qq_38365428的博客 788

别再只放按钮了!巧用微信小程序‘长按识别’功能,打造无缝加群体验

本文深入探讨了微信小程序'长按识别'功能在社群运营中的创新应用,通过简化加群流程至一步操作,显著提升用户转化率。文章详细解析了技术实现细节、UI/UX设计策略,并对比了与企业微信API的适用场景,为开发者提供打造无缝加群体验的完整解决方案。

weixin_42627853的博客 434

使用mixamo导入人物动作到unity

导入的材质是withoutSkin时选择Create From Other Model + 选择带withSkin里的。方案二:Textures选择Extract Textures,将文件存放到喜欢的位置(不行继续方案三)2.动画没有动:开个Animation窗口,选择人物的Prefab(Hierachy),查看窗口左侧。方案三:选中素材自带或者导出的Material,接着方案一选择 选中的materials进行转化。选 withSkin,剩下的动作选without Skin)(角色发生位移时出现选项)

big_good_boy的博客 1635

代码随想录算法训练营Day9

力扣151.反转字符串中的单词、28.找出字符串中第一匹配项的下标、459.重复的子字符串、卡码网55.右旋字符串

lololo的博客 1085

Sobel原理及计算过程详解

该算子包含两组3x3的矩阵,分别为横向及纵向,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。首先,我们需要构建一个Sobel算子,通常是一个 3x3 的矩阵。Sobel算子可以分别计算水平和垂直方向的梯度值,然后将两者合并得到总梯度值。索贝尔算子(Sobel operator)主要用作边缘检测,在技术上,它是一离散性差分算子,用来运算图像亮度函数的灰度近似值。所以,我们假设选择图像矩阵中的点A(1, 1),即第二行第二列的元素,对应的。接下来,我们将使用Sobel算子计算这个点的梯度值。

2301_76461741的博客 1万+

Day9 代码随想录 刷题记录

今日刷题2道,总计用时3h10mins。迭代器的用法不够熟悉,对于表述的部分概念不够理解。同时哈希表的使用,到此 三种方法均已实现过,应该培养对于哈希表运用的敏感度(遇到求元素重复的过程就要往哈希表的方向思考。

windyyyyyyyyyyy的博客 1155

【保姆级教程】教你如何轻松获取MIMIC数据使用权限

文章非常详细地介绍了MIMIC数据库申请使用的全部步骤。

越努力 越幸运 6600

Open3D 从体素网格构建八叉树【2025最新版】

从体素网格构建八叉树,博客长期更新,本文最近更新时间为:2025年1月1日。

点云侠的博客 34万+

代码随想录刷题day9

感悟:可以一个栈作为输入,一个栈作为输出。pop、peek方法存在相似的地方,当输出栈为空,把输入栈中元素全部移除放入输出栈。感悟:两个队列,但是一个作为主队列,另一个是备份队列。元素入主队列之前,先把主队列中元素全部移出到备份队列中。感悟:有一个技巧,在匹配左括号的时候,右括号先入栈,就只需要比较当前元素和栈顶相不相等就可以了。请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(请你仅使用两个栈实现先入先出队列。感悟:入栈前比较和栈顶元素是否相等,相等不入栈并将栈顶元素弹出。

LL_xjbt的博客 511

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片

算法真的是个很有用的东西,通过python或者golang实现对N张图片的自动排版,每张图片的长和宽都不一样,有的是横图,有的是竖图,最终需要生成一张完整的矩形图片。

代码讲故事 503

代码随想录五刷day9

贪心算法

ResNet156的博客 517

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

代码随想录day9 字符串part02

字符串这一章用python比较好写,感触不是很深。感觉自己抗压能力有点欠缺,唐突字节实习面试搞的心态有点乱。双指针法——反转字符串反转字符串——2k反转前k个,那么就每次2k遍历即可。KMP算法,看视频学习。

Gewe_Xiaokang的博客 342

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

代码随想录打卡Day9

今天字符串的前两道还好,后两道直接跳过了。。感觉那个KMP算法太难了,我看了视频还是觉得云里雾里的。。前两道题的思路都是整体反转+局部反转,我觉得这个套路很经典。

weixin_52151595的博客 410

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

代码随想录day9 KMP

KMP看了两三遍了还是没完全懂,不过比前面好多了能大概跟下来了,还得再多理解几遍!

qq_42259586的博客 344

代码随想录day9-翻转字符串里单词/右旋转字符串/KMP

151.翻转字符串里的单词好容易出错,写了好久。大概思路看注释就行。不太熟悉java函数,贴一下力扣题解。使用将字符串按连续的空白字符(空格、制表符等)分割成单词数组。\\s+是一个正则表达式,表示匹配一个或多个空白字符。使用将反转后的单词列表用单个空格拼接成一个字符串。卡码网:55.右旋转字符串。

zhengjojo的博客 184

代码随想录算法训练营 Day9 字符串Ⅱ 花式反转 KMP

先将字符串整体反转,然后对每个单词再次反转,去掉多余空格即可去掉多余空格参考数组移除元素反转元素使用双指针单词判断通过空格判断,其中字符遍历要到单词\0 位置类似于上一题首先对整体反转,然后对两个字串分别反转即可。

weixin_43679621的博客 387

2024/4/25 代码随想录Day 9:28. 实现 strStr() 459.重复的子字符串 字符串总结 双指针回顾

几道经典题重新写一下。

weixin_44645059的博客 911

代码随想录算法day9

四数之和的双指针解法是两层for循环nums[k] + nums[i]为确定值,依然是循环内有left和right下标作为双指针,找出nums[k] + nums[i] + nums[left] + nums[right] == target的情况,三数之和的时间复杂度是O(n^2),四数之和的时间复杂度是O(n^3)。的双指针解法是一层for循环num[i]为确定值,然后循环内有left和right下标作为双指针,找到nums[i] + nums[left] + nums[right] == 0。

weixin_48485132的博客 782

代码随想录day 9

给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1: 输入: haystack = "hello", needle = "ll" 输出: 2 示例 2: 输入: haystack = "aaaaa", needle = "bba" 输出: -1 说明: 当 needle 是空字符串时,我们应当返回什么值呢?这是一个在面试中很好的问题。

m0_52320920的博客 109

【代码随想录】day9

字符串是若干字符组成的有限序列,是一个字符数组。overover!过段时间再来看看kmp。

weixin_47041555的博客 941
上一篇: 代码随想录day8
下一篇: 代码随想录day10
Strongwind_
博客等级 码龄7年 139粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值