• 2024-11-11滑动窗口最大值
    滑动窗口最大值题目给你一个整数数组nums,有一个大小为k的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的k个数字。滑动窗口每次只向右移动一位。返回滑动窗口中的最大值。示例示例1:输入:nums=[1,3,-1,-3,5,3,6,7],k=3输出:[3,3,5,5,6
  • 2024-11-04用栈实现队列 [Java]
    用栈实现队列题目链接:LeetCode232描述请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素
  • 2024-07-12Day9(栈与队列) | **232.用栈实现队列** **225. 用队列实现栈** **20. 有效的括号** **1047. 删除字符串中的所有相邻重复项**
    232.用栈实现队列请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)将元素x推到队列的末尾intpop()从队列的开头移除并返回元素intpeek()返回队列开头的元素booleanempty()如果队列为
  • 2024-04-30239. 滑动窗口最大值(leetcode)
    https://leetcode.cn/problems/sliding-window-maximum/简单的滑动窗口,但是与ACM模式的维护数组不同,在leetcode定义单调队列类更加方便classMyQueue{//单调队列实现,递减Deque<Integer>deque=newLinkedList<>();voidpoll(intval){if(!deque
  • 2024-03-31LeetCode 84. 柱状图中最大的矩形
    解题思路单调栈经典题型,这道题我们需要找到heights[i]左边的最近的比heights[i]小的值,找到heights[i]右边的最近的比heights[i]小的值。所以我们想到了单调栈。相关代码classSolution{publicintlargestRectangleArea(int[]heights){intn=h
  • 2024-03-30代码随想录算法训练营第六十天|84.柱状图中最大的矩形
    84.柱状图中最大的矩形刷题https://leetcode.cn/problems/largest-rectangle-in-histogram/description/文章讲解https://programmercarl.com/0084.%E6%9F%B1%E7%8A%B6%E5%9B%BE%E4%B8%AD%E6%9C%80%E5%A4%A7%E7%9A%84%E7%9F%A9%E5%BD%A2.html视频讲解https://www.bilibili.com
  • 2024-03-23Leetcode 有效的括号
    Day8第1题力扣官方解题思路:利用栈的特性和哈希表快速配对及时把括号数组pop出去,关键在于左右括号需要连续封闭:stack.peek()!=pairs.get(ch)。classSolution{publicbooleanisValid(Strings){intn=s.length();if(n%2==1){
  • 2024-01-16Peek ____Poke 博图指令
    PEEK指令 PEEK指令用来读取存储区数据,支持位、字节、字、双字、长字操作。PEEK指令将获取的数据值以返回值的方式赋值给对应的变量。1、指令语法新建SCL程序块FB1,在基本指令->移动操作->读/写存储区内,调用PEEK指令。PEEK指令的语法,如图1所示。EEK指令管脚参数说明:参
  • 2023-12-24[LeetCode Hot 100] LeetCode739. 每日温度
    题目描述思路:单调递减栈使用单调栈的模板即可。根据题意可知,该题使用的是单调递减栈。问题抽象为:找出数组中右边第一个比我大的元素。方法一:classSolution{publicint[]dailyTemperatures(int[]temperatures){//用于存放结果int[]res=new
  • 2023-12-24[LeetCode Hot 100] LeetCode42. 接雨水
    题目描述思路一:单调栈柱子的高度递减的时候是装不了水的,当碰到第一个比之前高的柱子才可以装水。此时计算栈顶索引能装的水:宽:i-left-1(这个left为栈顶元素pop之后的peek值)高:min(height[left],height[i])-height[top]该题维护的是一个单调递减栈方法一:对应思路
  • 2023-12-24[LeetCode Hot 100] LeetCode84. 柱状图中最大的矩形
    题目描述思路:枚举+优化(单调栈)先固定矩阵的高。然后向左向右找到第一个比当前元素值小的元素,确定好左右边界。对于元素2来说:向左找到第一个比当前元素值小的元素:1的右边界向右找到第一个比当前元素值小的元素:3的右边界枚举每个元素的上边界,确定往左数最远到达哪个边界
  • 2023-12-04【python基础之可变和不可变数据类型】---python之栈的介绍
    【二】栈【0】引入https://www.hello-algo.com/chapter_stack_and_queue/栈如同叠猫猫,而队列就像猫猫排队。两者分别代表着先入后出和先入先出的逻辑关系。【1】栈的介绍「栈stack」是一种遵循先入后出的逻辑的线性数据结构。我们可以将栈类比为桌面上的一摞盘
  • 2023-11-0908-单调栈
    8.单调栈有个数组arr,找到arr[i]左面比他小的第一个数,和右面比他小的第一个数,要求O(N)的时间复杂度.思路:栈底下栈顶从小到大,栈中存放位置信息,入栈或者出栈的时候可能需要记录信息。8.1每日温度https://leetcode.cn/problems/daily-temperatures/1.题目给定一个整数数
  • 2023-10-06队列的API
    2023.10.61.poll,peek,element相同点:都是返回队列首个元素不同点:poll:将首个元素从队列中弹出,如果队列是空的,就返回nullpeek:查看首个元素,不会移除首个元素,如果队列是空的就返回nullelement:查看首个元素,不会移除首个元素,如果队列是空的就抛出异常NoSuchElementException 
  • 2023-09-19Java stream 中 peek() 的合理用法
    目录背景最终操作(terminaloperation)peek()vsforEach()peek()的典型用法:协助调试小结参考链接背景这周遇到了一件很有意思的事情。在看项目代码时,发现了这么一段:returnobjects.stream() .peek(object->addInfo(object,someParams)) .collect(Collectors.toL
  • 2023-09-18leet code 735. 行星碰撞
    735.行星碰撞题目解析一道典型的运用单调栈解决的问题,元素入栈,然后当前元素和栈中元素相比较。最终得出结果。总结反思第一次遇到该问题的时候,脑海中没有丝毫关于单调栈的相关内容。想着双指针遍历数组解决问题。毫无疑问能够通过一些用例,不过不是正确的解。再次回顾,解决思路在脑
  • 2023-09-09#yyds干货盘点# LeetCode程序员面试金典:用栈实现队列
    题目:请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现 MyQueue 类:voidpush(intx) 将元素x推到队列的末尾intpop() 从队列的开头移除并返回元素intpeek() 返回队列开头的元素booleanempty() 如果队列为空,返回 true 
  • 2023-08-18各省数字贸易指数数据计算(peek获取与next传值的使用)
    需求:工作中需要计算各省数字贸易指数数据,需要首先利用peek获取栈顶元素,然后通过n.next进行顶端元素传值,最后利用综合指数法来进行合一计算和存储,用于后续的深度数据挖掘。解决:classNode(object):definit(self,val):self.val=val#指向元素的值self.next=NoneclassSt
  • 2023-07-31UVM:4.1.3 UVM 中的PORT 与 EXPORT
    1.UVM中常用的PORT有:总结到一起:1)put,get,transport都是3个。2)peek与get类似,都是主动获取数据。是有区别的。。。3)get_peek结合了get和peek的功能。4)前12个的参数就是PORT中的数据类型,后3个是request的类型和response的类型。5)如果没有指定是否阻塞,则都可以当。(都可以作只是端口
  • 2023-05-06Java中栈的创建与其常见的应用场景
    (1)Java中栈的创建方式①使用Stack类Java提供了最容易根据名字想起的Stack类,这也是在Java6以及更早版本常用的方式。Stack<String>stack=newStack<>();//创建一个栈,泛型为String,一般来讲String作为泛型是很安全的stack.push("AAAI");stack.push("KDD");stack
  • 2023-04-17239. 滑动窗口最大值
    设计单调栈classSolution{classMyQueue{Deque<Integer>deque=newLinkedList<>();//弹出元素时,比较当前要弹出的数值是否等于队列出口的数值,如果相等则弹出publicvoidpoll(intval){if(!deque.isEmpty()&&val==deque.pee
  • 2023-03-21还在stream中使用peek?不要被这些陷阱绊住了
    简介自从JDK中引入了stream之后,仿佛一切都变得很简单,根据stream提供的各种方法,如map,peek,flatmap等等,让我们的编程变得更美好。事实上,我也经常在项目中看到有些小伙伴会经
  • 2023-03-18关于java stream流中的peek方法和foreach的自我理解:
    场景:我需要在数据库中将信息查出,在将其转化为某一个对象,再将该对象进行添加进入list集合 我首先想到的是stream().peek()方法,编写的代码如下:productAtt
  • 2023-03-11leetcode-1544-easy
    MakeTheStringGreatGivenastringsofloweranduppercaseEnglishletters.Agoodstringisastringwhichdoesn'thavetwoadjacentcharacterss[i]and
  • 2023-01-09刷刷刷 Day10 | 232. 用栈实现队列
    232.用栈实现队列LeetCode题目要求请你仅使用两个栈实现先入先出队列。队列应当支持一般队列支持的所有操作(push、pop、peek、empty):实现MyQueue类:voidpush(intx)