首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
牛客230443569号
江苏大学 测试开发
发布于广东
关注
已关注
取消关注
@Maokt:
题解 | #包含min函数的栈#
算法思想一:定义辅助栈 解题思路: 1、要用两个栈,stack用于存储元素,mins用于存储最小值,每个位置的元素都有一个对应的最小值,也就是stack和mins的长度同步增加和减少;当需要得到目前栈中的最小值的时候,直接返回mins的栈顶元素即可 2、在mins栈中先添加一个最大值,因为以后每次添加都会和栈顶元素比较,如果栈为空的话代码要多写几行,先放一个最大值会方便一点 代码展示: Python版本 # -*- coding:utf-8 -*-class Solution: def __init__(self): """ initialize your data structure here. """ self.stack = [] self.mins = [float("inf")] def push(self, node): # write code here self.stack.append(node) self.mins.append(min(self.mins[-1], node)) def pop(self): # write code here self.stack.pop() self.mins.pop() def top(self): # write code here return self.stack[-1] def min(self): # write code here return self.mins[-1] 复杂度分析: 时间复杂度O(1):栈的入、出时间均为O(1) 空间复杂度O(N):辅助栈空间,最差情况辅助站存储元素n个 算法思想二:基于链表 解题思路: 两个List一个存放存取的东西,一个存放截至到当前下标的最小值: 1.入栈一个数字就入栈一个当前位置最小值; 2.出栈一个数字就出栈尾位置最小值; 代码展示: JAVA版本 import java.util.List;import java.util.ArrayList;public class Solution { // 存储最小元素数组 Listmin = new ArrayList(); // 存储入栈数组 Listnum = new ArrayList(); public void push(int node) { num.add(node); // 判断最小值存入min数组 if(min.size() == 0 || node < min.get(min.size() - 1)) min.add(node); else min.add(min.get(min.size() - 1)); } public void pop() { num.remove(num.size() - 1); min.remove(min.size() - 1); } public int top() { // 获取最后一个元素 return num.get(num.size() - 1); } public int min() { return min.get(min.size() - 1); } } 复杂度分析: 时间复杂度O(1):链表的添加和删除时间为O(1) 空间复杂度O(N):辅助数组空间,最差情况下链表存储n个元素
点赞 7
评论 0
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
07-31 17:48
门头沟学院 营销
谢谢京东
但我还是会继续秋招的
投递京东等公司10个岗位
点赞
评论
收藏
分享
07-30 16:52
莉莉丝游戏_测试工程师(准入职员工)
哔哩哔哩内推
入职第一天,就感受到了满满的诚意。HR小姐姐全程陪着,讲解各种重要内容,什么六险一金啊(有商业保险),感觉自己被宠上天了。而且入职当天还送了免费大会员和会员购,哈利波特、蝙蝠侠、人生一串放肆看,看完还可以买周边,这福利也太香了吧! 办公环境:超有爱 B站的办公环境真的是太棒了!每层楼都有猫猫狗狗,上班累了还能逗逗它们,解解压。而且办公椅和办公桌很协调,办公起来非常舒服。关键是,这里没有那种压抑的氛围,大家都很年轻,交流起来特别方便,氛围特别好。 工作氛围:轻松又自由 B站的工作氛围真的太棒了,拒绝奋斗逼文化和996,崇尚有效率的工作。弹性工作制,每月还有一天带薪休假,只要直属leader批准就...
哔哩哔哩公司福利 810人发布
点赞
评论
收藏
分享
06-11 11:18
重庆邮电大学 Java
找不到实习啊,求求各位牛友狠狠拷打我的简历
双非重邮硕,有一段几百人的小厂实习,为什么投boss连那些千人以下的小厂都已读不回我啊。官网投的那些什么保融科技,信也科技,群核科技什么的都是直接简历不匹配。😭😭天呐我到底做错了什么,牛友们帮我看看有啥问题吧我求求了,我要破防了。
投递群核科技等公司10个岗位
点赞
评论
收藏
分享
06-17 22:35
美团_测试开发
就业行情的两极分化
今天看了眼牛客的热榜,感觉有些割裂,一边是大佬拿了一堆的ssp offer有感。另一边是努力半年0offer,感觉计算机就是这个样子20%的大佬会收割市面上80%的offer,然剩下的20%的人去争取那80%的offer。有点像社会资源分配了,不过你的资源再多依然每天都24h,依然有一天会噶掉的。想要表达的是即使他们拿了三五个甚至十几个offer但是每个人只能选择一个offer,剩下的offer还是会流入市场。这些offer的最终归属还是那些投到最后一刻面到最后一轮的同学,有时候就是当你快要放弃的时候offer就来了,遇到好几个朋友说秋招春招拿不到好offer,但是春招快要结束反而被大厂补录了。
有气魄的海豚在喝茶:
强者不抱怨环境,因为环境都是强者搞差的,弱者只能去祈祷强者赶紧把offer释放出来
牛客创作赏金赛
点赞
评论
收藏
分享
07-30 17:25
内蒙古大学 模拟IC设计
小米,你是如此的冷酷无情😭
没有测评没有笔试没有感谢信,直接就是一个寄
投递小米集团等公司10个岗位
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
百度提前批,三面被推迟一周,喜提秋招第一凉
7675
2
...
他拿大厂SSP Offer打牌是什么概念啊?25届双非之光
3235
3
...
虾皮秋招一面
2822
4
...
百度提前批 三面
2280
5
...
虾皮一面凉经
1864
6
...
小鹏offer
1625
7
...
被猿辅导挂了简历,但我想说...
1428
8
...
最强本科✌
1398
9
...
觉得研发高人一等的这辈子有了
1231
10
...
上班一周,工资还没拿,先欠公司两千
1199
创作者周榜
更多
正在热议
更多
#
简历上的经历如何包装
#
30523次浏览
831人参与
#
秋招被确诊为……
#
164740次浏览
761人参与
#
中兴秋招
#
206212次浏览
2302人参与
#
工作中哪个瞬间让你想离职
#
64159次浏览
573人参与
#
Offer比较,你最看重什么?
#
194013次浏览
1313人参与
#
和同事相处最忌讳的是__
#
24904次浏览
246人参与
#
26届的你,投了哪些公司?
#
46788次浏览
504人参与
#
找工作如何保持松弛感?
#
91981次浏览
1111人参与
#
虾皮求职进展汇总
#
249907次浏览
1871人参与
#
你最希望上岸的公司是?
#
135450次浏览
706人参与
#
我对___祛魅了
#
49606次浏览
443人参与
#
你遇到最难的面试题目是_
#
16943次浏览
203人参与
#
投格力的你,拿到offer了吗?
#
87016次浏览
584人参与
#
柠檬微趣工作体验
#
6795次浏览
40人参与
#
你跟室友的关系怎么样?
#
7506次浏览
113人参与
#
通信硬件岗投递时间线
#
18853次浏览
69人参与
#
你最讨厌面试问你什么?
#
28826次浏览
318人参与
#
什么样的背景能拿SSP?
#
39255次浏览
228人参与
#
地平线求职进展汇总
#
52708次浏览
370人参与
#
如何看待offer收割机的行为
#
817585次浏览
6096人参与
#
如何快速融入团队?
#
17416次浏览
206人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务