学习随笔
今天去刷LeetCode上的题,发现一个都不会,有点尴尬。只能看着题解慢慢做,一个字累。
今天粘两个刷的题

public class Offer09 { public static void main(String[] args) { CQuece cQuece=new CQuece(); System.out.println(cQuece.deleteHead()); cQuece.appendTail(3); cQuece.appendTail(5); System.out.println(cQuece.deleteHead()); System.out.println(cQuece.deleteHead()); } } //两栈模拟队列,leetcode上的题 class CQuece{ Deque<Integer> inStack; Deque<Integer> outStack; public CQuece(){ //初始化两个栈 inStack=new ArrayDeque<Integer>(); outStack=new ArrayDeque<Integer>(); System.out.println("null"); } public void appendTail(int value){ //添加元素进栈 inStack.push(value); System.out.println("null"); } public int deleteHead(){ //out栈没有元素,进入下个判断 if (outStack.isEmpty()){ //int栈没有元素,证明没有元素弹出,返回-1 if (inStack.isEmpty()){ return -1; } in2out(); } return outStack.pop(); } private void in2out(){ //将int栈中元素添加到out栈,因为栈是先进后出,所以放到out栈时顺序是倒过来的,栈对象名.pop()方法是弹出一个顶部元素 while (!inStack.isEmpty()){ outStack.push(inStack.pop()); } } }

public class Offer30 { public static void main(String[] args) { MinStack stack=new MinStack(); stack.push(-2); stack.push(0); stack.push(-3); System.out.println(stack.min()); stack.pop(); System.out.println(stack.top()); } } class MinStack{ Deque<Integer> Stack; //minStack是存放最小值的栈 Deque<Integer> minStack; public MinStack(){ Stack=new ArrayDeque<Integer>(); minStack=new ArrayDeque<Integer>(); //minStack栈压入一个默认的值,为Int的最大值 minStack.push(Integer.MAX_VALUE); } public void push(int x){ //同时将x入两个栈 Stack.push(x); //压入是比较栈顶元素和压入元素大小,压入元素小于栈顶元素,压入,否则再次压入顶部元素,因为顶部元素本来就最小值,minStack存放的是Stack栈的最小值 //.peek()是返回这个栈的顶部元素 if(x<minStack.peek()){ minStack.push(x); }else { minStack.push(minStack.peek()); } // minStack.push(Math.min(minStack.peek(),x)); } public void pop(){ Stack.pop(); minStack.pop(); } public int top(){ return Stack.peek(); } public int min(){ return minStack.peek(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 如何调用 DeepSeek 的自然语言处理 API 接口并集成到在线客服系统
· 【译】Visual Studio 中新的强大生产力特性
· 2025年我用 Compose 写了一个 Todo App