当前位置: 首页 > news >正文

关于新农村网络建设网站在线做图表的网站

关于新农村网络建设网站,在线做图表的网站,做网站 郑州公司哪家好,上海品划做网站提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 目录 前言 一、题目-最小栈 1.题目描述 2.思路与代码 2.1 思路 2.2 代码 总结 前言 提示:这里可以添加本文要记录的大概内容: 2月18日练习内容…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

前言

一、题目-最小栈

1.题目描述

2.思路与代码

2.1 思路

2.2 代码

总结


前言

提示:这里可以添加本文要记录的大概内容:

2月18日练习内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、题目-最小栈

1.题目描述

设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。

实现 MinStack 类:

MinStack() 初始化堆栈对象。
void push(int val) 将元素val推入堆栈。
void pop() 删除堆栈顶部的元素。
int top() 获取堆栈顶部的元素。
int getMin() 获取堆栈中的最小元素。

示例 1:

输入:
["MinStack","push","push","push","getMin","pop","top","getMin"]
[[],[-2],[0],[-3],[],[],[],[]]输出:
[null,null,null,null,-3,null,0,-2]解释:
MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin();   --> 返回 -3.
minStack.pop();
minStack.top();      --> 返回 0.
minStack.getMin();   --> 返回 -2.

提示:

-231 <= val <= 231 - 1
pop、top 和 getMin 操作总是在 非空栈 上调用
push, pop, top, and getMin最多被调用 3 * 104 次

来源:力扣(LeetCode)
链接:https://leetcode.cn/problems/min-stack
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2.思路与代码

2.1 思路

1.因为该题目可以使用链表来实现栈,则需要先建立一个内部类ListNode,该内部类的成员变量有链表的值val,该链表的最小值min,该链表的下一个结点next

2.创建最小栈类的成员变量ListNode head;

3.实现构造函数,将head置为空

4.实现一个成员方法IsEmpty,判断该栈是否为空‘

5.对于push方法,需要先判断该栈是否为空,如果栈为空,则创建一个新结点,其值和最小值等于输入的值,下一个结点为空;如果栈不为空,则创建一个新的结点,值为输入的值,最小值为输入的值与原本栈内的最小值比较之后的较小值,next为head(因为栈为先入后出,所以第一个结点为最后加入的结点),接着将新创建的结点赋值为head

6.对于pop方法,先判断栈是否为空,若栈为空,则创建一个栈为空的异常并抛出;若栈不为空,则删除头结点head=head.next

7.对于top方法,先判断是否为空,若空,抛出栈为空的异常;若不为空,则输出head.val;

8.对于getMin方法,先判断是否为空,若空,抛出栈为空的异常;若不为空,输出head.min

2.2 代码

代码如下(示例):

class MinStack {//内部类class ListNode{private int val;private int min;    //最小值private ListNode next;public ListNode(int val,int min,ListNode next){this.val = val;this.min = min;this.next = next;}}//成员变量private ListNode head;public MinStack() {this.head = null;}public void push(int val) {//判断栈是否为空if(isEmpty()){//若栈为空,则创建一个新的结点,结点的值和最小值都为输入的值head = new ListNode(val,val,null);}else{//若栈不为空,因为栈为先入后出,则直接将新创建的新结点赋值给和蔼的即可head = new ListNode(val,Math.min(val,head.min),head);}}public void pop() {//判断链表是否为空if(isEmpty()){//当栈为空时,输出一个栈为空的异常throw new IllegalStateException("栈为空……");}else{head = head.next;}}public int top() {if(isEmpty()){//当栈为空时,输出一个栈为空的异常throw new IllegalStateException("栈为空……");}else{return head.val;}}public int getMin() {if(isEmpty()){//当栈为空时,输出一个栈为空的异常throw new IllegalStateException("栈为空……");}else{return head.min;}}//判断链表是否为空private boolean isEmpty(){return head == null;}}/*** Your MinStack object will be instantiated and called as such:* MinStack obj = new MinStack();* obj.push(val);* obj.pop();* int param_3 = obj.top();* int param_4 = obj.getMin();*/


总结

提示:这里对文章进行总结:
 

http://www.yayakq.cn/news/690692/

相关文章:

  • 上海响应式网站建设公司网站建设方案计划书
  • 山东住房建设厅官网站做建筑的网站
  • 十度网站建设南京seo培训
  • 网站建设速度如何解决手机电脑网站建设
  • 如何的找网站建设公司住房和城乡建设部执业资格注册中心网站
  • 建设信用卡手机银行官方网站汽车门户网站建设
  • 百度竞网建设网站鹤壁网站建设
  • 动画网站模板昆明网站建设公司乐网
  • 二手车网站建设意见简单的阿里云建设网站
  • 怎样免费做自己的网站新平台推广赚钱
  • 深圳企业网站建设费用网站后台无法编辑文字
  • 做任务拍照片赚钱的网站wordpress 付费会员
  • 做网站都需要哪些软硬件wordpress网站打开满
  • 陕西省高速建设集团公司网站私人建设手机网站
  • 烟台网站建设ytwzjs做网站服务器软件
  • 慈溪公司做网站国企网站建设需要注意什么
  • 网站制作吧wordpress分类目录html
  • 织梦网站广告代码如何写交易平台网站制作
  • dw网页制作模板下载河南网站关键词优化代理
  • 清镇手机网站建设短网址生成器是什么
  • 东莞网站优化的具体方案百度怎么发帖做推广
  • 微信上微网站怎么做的吗创新创业营销策略网站建设等
  • 网站开发需求调研个人网站 cms
  • 购物网站排名前十名企业网页与网站区别
  • 杭州高端企业网站建设一个网站做多少内链合适
  • html网站开发开题报告范文近期新闻热点
  • 做的网站适应屏幕大小企业管理系统
  • 手机做兼职的网站有哪些上海松江品划做网站
  • 深圳医疗网站建设公司天津的公司能在北京做网站备案吗
  • 做网站应该注意wordpress编辑权限设置密码