文章目录
- 题目
- 思路
- 主要代码
- 问题总结
- 有时候提交不了可能是方法名的问题
题目
leetcode152
思路
主要代码
同一个思路,法一是用栈实现,法二是用数组实现
/*** @Author: ggdpzhk* @CreateTime: 2024-08-03* 最小栈 155*/
import java.util.Stack;public class _015_MinStack {//提交时 class名和构造方法名 改为 MinStackclass MinStack1{public Stack<Integer> data;public Stack<Integer> min;public MinStack1(){data = new Stack<>();min = new Stack<>();}public void push(int val){data.push(val);if(min.isEmpty() || val < min.peek()){min.push(val);}else{min.push(min.peek());}}public void pop(){data.pop();min.pop();}public int top(){return data.peek();}public int getMin(){return min.peek();}}//提交时 class名和构造方法名 改为 MinStack//用数组实现class MInStack2{//leetcode的数据在测试时,同时在栈里的数据不超过这个值//这是几次提交实验得出的//如果leetcode补测试数据,超过这个量导致出错,就调大public final int MAXN = 8001;public int[] data;public int[] min;int size;//栈中现在有多少数据,同时压同时弹,所以两个数组的size是一样的public MInStack2(){data = new int[MAXN];min = new int[MAXN];}public void push(int val){data[size] = val;if(size == 0 || val < min[size-1]){min[size] = val;}else{min[size] = min[size-1];}size++;}public void pop(){size--;}public int top(){return data[size-1];}public int getMin(){return min[size-1];}}
}
问题总结
有时候提交不了可能是方法名的问题
因为我是在idea里面写了再复制过来,可能就会出现不一致的问题