您的位置:首页 > 文旅 > 美景 > 算法通关:015:最小栈

算法通关:015:最小栈

2024/10/6 20:39:45 来源:https://blog.csdn.net/m0_75257168/article/details/140889807  浏览:    关键词:算法通关:015:最小栈

文章目录

  • 题目
  • 思路
  • 主要代码
  • 问题总结
    • 有时候提交不了可能是方法名的问题

题目

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里面写了再复制过来,可能就会出现不一致的问题
在这里插入图片描述
在这里插入图片描述

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com