首页 > 编程语言 >程序员面试题目之栈的用法

程序员面试题目之栈的用法

时间:2024-11-07 10:47:16浏览次数:6  
标签:元素 压入 面试 栈记 之栈 程序员 newNum stackData stackMin

【题目】         实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈 中最小元素的操作。 【要求】         1.pop、 push 、 getMin 操作的时间复杂度都是 O (1) 。         2.设计的栈类型可以使用现成的栈结构。 【解答】         在设计上我们使用两个栈,一个栈用来保存当前栈中的元素,其功 能和一个正常的栈没有区别,这个栈记为stackData;另一个栈用于保存 每一步的最小值,这个栈记为 stackMin 。具体的实现方式有两种。 第一种设计方案如下。 压入数据规则 假设当前数据为 newNum ,先将其压入 stackData。然后判断 stackMin 是否为空: ● 如果为空,则 newNum 也压入 stackMin 。 ● 如果不为空,则比较 newNum 和 stackMin的栈顶元素中哪一个更 小: ● 如果 newNum 更小或两者相等,则 newNum 也压入 stackMin ; ● 如果 stackMin 中栈顶元素小,则 stackMin 不压入任何内容。 举例:依次压入 3

标签:元素,压入,面试,栈记,之栈,程序员,newNum,stackData,stackMin
From: https://blog.csdn.net/lqfstart1/article/details/143318731

相关文章

  • Java面试系列-MySQL面试题20道,InnoDB,索引类型,事务隔离级别,锁机制,MVCC,主从复制,慢查询,分
    文章目录1.MySQL中的InnoDB和MyISAM存储引擎有什么区别?2.MySQL中的索引类型有哪些?3.MySQL中的索引是如何工作的?4.MySQL中的事务隔离级别有哪些?5.MySQL中的锁机制有哪些?6.MySQL中的MVCC(多版本并发控制)是如何工作的?7.MySQL中的主从复制是如何工作的?8.MySQL中的分区......
  • 2041. 面试中被录取的候选人
    目录        一、力扣原题链接        二、题目描述        三、建表语句        四、题目分析                五、SQL解答        六、最终答案        七、验证        八、知识点一、......
  • 【转型必看】Java到AI,程序员的逆袭秘籍,转行人工智能不再是梦!
    随着技术的不断进步,人工智能(AI)已经成为当今科技领域最热门的话题之一。许多开发者开始考虑从传统的软件开发领域,如Java,转向人工智能领域,今天小编和大家一起来探讨Java开发者是否可以转型到人工智能,转型的优势,薪资对比,以及转型所需的知识和学习路线等。01Java开发者能否转......
  • 字节大模型离职了,聊一下现在的面试……
    字节大模型离职了,聊一下现在的面试……之前总有小伙伴问我怎么进的字节❓学历经验是一方面吧,但你要了解现在市场上面试的方向才能针对性的去准备面试。现在面试问的最多的还是场景题,八股文较少,问来问去都是这些问题,一般的场景题就可以应付绝大部分的面试了。我反正也离......
  • Redis内存管理——针对实习面试
    目录Redis内存管理Redis的内存淘汰机制有哪些?说说过期的数据的删除策略?Redis是如何判断数据是否过期的?Redis如何处理大Key问题?Redis内存管理Redis的内存淘汰机制有哪些?Redis的内存淘汰机制主要包括以下几种策略:noeviction:这是默认策略,当内存使用达到限制时,Red......
  • 线上部署面试蛙
    线上部署面试蛙1.核心部署一本地准备修改代码:去掉es、sentinel、hotkey第三方代码,保证核心代码能够线上运行修改application-prod.yml,主要配置线上mysql、redis信息maven打包上传jar包到宝塔二宝塔部署-后端添加项目启动命令:(等待半分钟后刷新页面查看是否显示......
  • 常见的Kubernetes面试题总结
    常见的Kubernetes面试题总结1、简述etcd及其特点etcd是CoreOS团队发起的开源项目,是一个管理配置信息和服务发现(servicediscovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于Go语言实现。特点:简单:支持REST风格的HTTP+JSONAPI安全:支持HTTPS方式的访问......
  • Selenium 高频面试题及答案
    ......
  • 计算机网络常见面试题(一):TCP/IP五层模型、TCP三次握手、四次挥手,TCP传输可靠性保障、AR
    文章目录一、TCP/IP五层模型(重要)二、应用层常见的协议三、TCP与UDP3.1TCP、UDP的区别(重要)3.2运行于TCP、UDP上的协议3.3TCP的三次握手、四次挥手3.3.1TCP的三次握手3.3.2TCP的四次挥手3.3.3随机生成序列号的原因四、TCP传输可靠性保障4.1保证传输的......
  • 来自蚂蚁数据研发一面的SQL面试题
    来自蚂蚁数据研发一面:有一张用户贷款信息表dwd_trd_loan_tb_dd,包含uid(用户id)、amt(贷款金额)、ovd_days(逾期天数)、dt(时间分区)以及逾期等级配置表dim_ovd_config_dd,包含ovd_days(逾期天数),user_level(用户风险等级)注意:示例如下,当ovd_days=1且user_level=1,表示用户逾期天数<=1时,用户......