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

【牛客刷题专栏】0x28:JZ30 包含min函数的栈(C语言编程题)

前言

  • 个人推荐在牛客网刷题(点击可以跳转),它登陆后会保存刷题记录进度,重新登录时写过的题目代码不会丢失
  • 个人刷题练习系列专栏:个人CSDN牛客刷题专栏。 题目来自:牛客/题库 / 在线编程 / 剑指offer:
    在这里插入图片描述

目录

  • 前言
  • 问题描述:
  • 举例:
  • 解法思路:
  • 代码结果:
  • 结束语


问题描述:

  • 定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的 min 函数,输入操作时保证 pop、top 和 min 函数操作时,栈中一定有元素。

  • 此栈包含的方法有:
    push(value):将value压入栈中
    pop():弹出栈顶元素
    top():获取栈顶元素
    min():获取栈中最小元素

  • 数据范围:操作数量满足 0≤n≤300 ,输入的元素满足 ∣val∣≤10000

  • 进阶:栈的各个操作的时间复杂度是 O(1) ,空间复杂度是 O(n)

示例:
输入:    ["PSH-1","PSH2","MIN","TOP","POP","PSH1","TOP","MIN"]
输出:    -1,2,1,-1
解析:
"PSH-1"表示将-1压入栈中,栈中元素为-1
"PSH2"表示将2压入栈中,栈中元素为2-1
“MIN”表示获取此时栈中最小元素==>返回-1
"TOP"表示获取栈顶元素==>返回2
"POP"表示弹出栈顶元素,弹出2,栈中元素为-1
"PSH1"表示将1压入栈中,栈中元素为1-1
"TOP"表示获取栈顶元素==>返回1
“MIN”表示获取此时栈中最小元素==>返回-1

举例:

//示例1:
//输入:["PSH-1","PSH2","MIN","TOP","POP","PSH1","TOP","MIN"]
//返回值:
-1,2,1,-1

解法思路:

  • 核心由于栈先进后出的特殊性

代码结果:

static int stack[301];
static int i = 0;
static int min_num = 99999;  
//假设的最小值,其实比栈中所有数都大,为的就是给机会找出栈中真正的最小值void push(int value ) {stack[i++] = value;
}void pop() {i--;  //只弹出,不返回值,只需指针减1
}int top() {int top_num = stack[--i];i++;return top_num;
}int min() {int min;  //这才是真正的最小值for(int k = 0 ; k < i; k++)  //来嘛,一个个比较,看谁小if(stack[k] < min_num)min_num = stack[k];  //好,你更小,最小值让给你min = min_num;   //正式接位最小值min_num = 999999;   //min函数不止用一次,下次还得与假设的最小值开始比,所以要还原return min;}


结束语

  • 以上就是该C语言编程题的内容。可以在牛客尝试刷几道题目来练习实践。牛客网刷题(点击可以跳转),可以尝试注册使用。
  • 题目来自:牛客/题库 / 在线编程 / 剑指offer:
    在这里插入图片描述

相关文章:

【牛客刷题专栏】0x28:JZ30 包含min函数的栈(C语言编程题)

前言 个人推荐在牛客网刷题(点击可以跳转)&#xff0c;它登陆后会保存刷题记录进度&#xff0c;重新登录时写过的题目代码不会丢失。个人刷题练习系列专栏&#xff1a;个人CSDN牛客刷题专栏。 题目来自&#xff1a;牛客/题库 / 在线编程 / 剑指offer&#xff1a; 目录 前言问…...

聚焦丨酷雷曼荣列XRMA联盟成员单位

自“元宇宙”概念兴起之初&#xff0c;酷雷曼VR所属北京同创蓝天云科技有限公司就积极布局、探索和实践。2022年12月&#xff0c;酷雷曼VR成功加入虚拟现实与元宇宙产业联盟&#xff08;XRMA&#xff09;&#xff0c;正式被接纳为联盟成员单位&#xff0c;意味着酷雷曼公司将进…...

物联网架构和技术:如何实现物物互联和智能化控制

第一章&#xff1a;引言 物联网是一种新兴的技术领域&#xff0c;通过将物理设备、传感器和软件等连接起来&#xff0c;可以实现设备之间的互联互通&#xff0c;让各种设备可以进行数据交换和智能化控制。在这个数字化时代&#xff0c;物联网已经成为了连接万物的关键技术之一…...

Linux系统查看CPU信息命令cat /proc/cpuinfo详细说明

Linux操作系统服务器如何查看CPU处理器信息&#xff1f;使用命令cat /proc/cpuinfo可以查看CPU详细信息&#xff0c;包括CPU核数、逻辑CPU、物理CPU个数、CPU是否启用超线程等&#xff0c;阿里云服务器网分享Linux服务器查看CPU信息命令&#xff1a; 目录 Linux服务器查看CPU…...

RK3588旗舰32T人工智能多网口边缘智能网关交换机

32T边缘智能网关发布&#xff0c;助力多行业数字化升级&#xff0c;运维降本增效&#xff0c;搭载RK3588旗舰芯 搭载瑞芯微RK3588芯片的边缘智能网关XM-RK3588&#xff0c;算力可扩展至32T&#xff0c;适用于电力能源、智慧交通、智慧城市、智慧安防、智慧医疗、工业互联网等领…...

一行代码绘制高分SCI火山图

一、概述 在近半年中&#xff0c;我读了很多的高分SCI文章&#xff0c;很多文章中都有多种不同的火山图&#xff0c;包括「普通的火山图、渐变火山图、以及包含GO通路信息的火山图」&#xff01; 经过一段时间的文献阅读和资料查询&#xff0c;终于找到了一个好用而且简单的包…...

chmod是什么?cron是什么?

chmod 和 cron 是 Unix 和类 Unix 系统&#xff08;如 Linux&#xff09;的常用命令。 chmod&#xff1a;这是一个命令行工具&#xff0c;用于更改文件或目录的权限。在 Unix 和类 Unix 系统中&#xff0c;每个文件和目录都有一个访问权限集&#xff0c;该集定义了哪些用户可以…...

励志长篇小说《周兴和》书连载之三 十五岁时做父亲

十五岁时做父亲 周兴和的父亲一天天更衰老了。 他母亲身体也越来越是消瘦。近一两年来&#xff0c;她常常感到全身无力、胸口发堵、心慌气紧、吞咽困难&#xff0c;做什么事都力不从心了。 这时&#xff0c;他母亲不知是心血来潮&#xff0c;还是她预感到了什么&#xff0c;出…...

文件一直处于修改状态 git checkout 无法还原的问题解决方法

问题描述 最近在 RT-Thread 时&#xff0c;使用 Git 回退版本验证问题&#xff0c;后来 git pull 拉取最新代码后&#xff0c;发现里面有几个文件&#xff0c;一直为【修改】状态&#xff0c;并且无法还原&#xff0c;git checkout xxx git reset --hard 都用了&#xff0c;依旧…...

Julia入门-3、Julia包管理工具

文章目录 0、Julia 的包管理工具是Pkg1、使用Julia包管理工具过慢 0、Julia 的包管理工具是Pkg Julia 的包管理工具是Pkg&#xff0c;可以用于安装、更新、卸载和管理 Julia 中的软件包。以下是一些常用的 Pkg命令&#xff1a; Pkg.add("Package")&#xff1a;安装一…...

选择正确的 Azure 存储服务

Azure Storage 是 Microsoft 基于云的存储解决方案&#xff0c;提供了全面的现代存储服务。在本文中&#xff0c;我们将探讨各种可用的服务及其特定用例&#xff0c;使您能够选择最适合您需求的服务。 Azure Blob 存储 Azure Blob 存储是一项功能强大且可缩放的存储服务&…...

隐语团队研究成果再创佳绩,两篇论文分别被USENIX ATC‘23和IJCAI‘23接收!

‍“USENIX ATC‍年度技术会议”&#xff08;USENIX ATC&#xff0c;USENIX Annual Technical Conference&#xff09;是计算机系统领域的顶级学术会议之一。本年度 USENIX ATC’23将于7月10日至12日在美国波士顿召开。本次会议共投稿353篇论文&#xff0c;接收65篇&#xff0c…...

美团数据指标体系搭建实战

在美团商家版中&#xff0c;美团为商家搭建的数据指标体系&#xff0c;很好的指导了商家的经营发展方向以及提供经营状况概览。​ 本文通过体验美团商家版经营数据子功能&#xff0c;对美团商家版数据指标体系搭建的情况做出一个概述。 美团商家版的店铺子功能下&#xff0c;…...

prometheus实战之五:飞书通知告警

欢迎访问我的GitHub 这里分类和汇总了欣宸的全部原创(含配套源码)&#xff1a;https://github.com/zq2599/blog_demos 《prometheus实战》系列链接 prometheus实战之一&#xff1a;用ansible部署prometheus实战之二&#xff1a;使用常见指标prometheus实战之三&#xff1a;告警…...

【华为OD机试真题】不含101的数(python版)100%通过率 超详细代码注释 代码解读

【华为OD机试真题 2022&2023】真题目录 @点这里@ 【华为OD机试真题】信号发射和接收 &试读& @点这里@ 【华为OD机试真题】租车骑绿道 &试读& @点这里@ 不含101的数 时间限制:1s空间限制:256MB限定语言:不限 题目描述: 小明在学习二进制时,发现了一…...

基于AT89C52单片机的交通信号灯设计

点击链接获取Keil源码与Project Backups仿真图&#xff1a; https://download.csdn.net/download/qq_64505944/87772657 源码获取 主要内容&#xff1a; 本次设计所提出的一种基于单片机技术的简易计算器的方案&#xff0c;能更好的解决计算机计算的问题,随着数字生活的到来&…...

chatGPT4.0-基于Python+Appium的APPUI关键字驱动自动化测试框架demo

以下是一个简单的UI关键字驱动+数据驱动的自动化测试框架代码示例,使用Python和Appium进行移动应用测试。我们将使用openpyxl库读取Excel数据,使用Appium-Python-Client库进行UI自动化测试。 首先,请确保已安装以下库: pip install openpyxl pip install Appium-Python-C…...

C++模板进阶

一、非类型模板参数 模板参数分为&#xff1a;类型形参、非类型形参 类型形参&#xff1a;class与typename都是参数类型 非类型形参&#xff1a;用一个常量作为模板的一个参数&#xff0c;一般是整型常量 #include<iostream> #include<array> using namespace …...

【人力资源管理】第4集 免费开源ERP: Odoo 16 Appraisal员工绩效评估 构建一体化企业人力资源管理

文章目录 前言一、概览二、主要功能1.设置定期的员工评估2.构建正确的评估3.设计您自己的调查4.自动评估过程 总结 前言 在员工工作中创建评估。同时审查员工表现。 一、概览 员工评价 评估内容 目标制定 评价指标 评价分析 二、主要功能 1.设置定期的员工评估 强化贵公司的…...

「AI 孙燕姿」翻唱华语乐坛歌曲爆红全网,AI 翻唱将带来哪些影响?是否会有版权等问题?

在某视频平台上&#xff0c;“AI孙燕姿”成了新网红&#xff0c;它翻唱过周杰伦的《发如雪》、翻唱过郭顶的《水星记》、翻唱过赵雷的《我记得》&#xff0c;受到了网友的追捧&#xff0c;甚至有网友宣布“这是2023年最火的声音”。 网上除了AI孙燕姿&#xff0c;还有AI周杰伦…...

浏览器访问 AWS ECS 上部署的 Docker 容器(监听 80 端口)

✅ 一、ECS 服务配置 Dockerfile 确保监听 80 端口 EXPOSE 80 CMD ["nginx", "-g", "daemon off;"]或 EXPOSE 80 CMD ["python3", "-m", "http.server", "80"]任务定义&#xff08;Task Definition&…...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

Ubuntu系统下交叉编译openssl

一、参考资料 OpenSSL&&libcurl库的交叉编译 - hesetone - 博客园 二、准备工作 1. 编译环境 宿主机&#xff1a;Ubuntu 20.04.6 LTSHost&#xff1a;ARM32位交叉编译器&#xff1a;arm-linux-gnueabihf-gcc-11.1.0 2. 设置交叉编译工具链 在交叉编译之前&#x…...

【人工智能】神经网络的优化器optimizer(二):Adagrad自适应学习率优化器

一.自适应梯度算法Adagrad概述 Adagrad&#xff08;Adaptive Gradient Algorithm&#xff09;是一种自适应学习率的优化算法&#xff0c;由Duchi等人在2011年提出。其核心思想是针对不同参数自动调整学习率&#xff0c;适合处理稀疏数据和不同参数梯度差异较大的场景。Adagrad通…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

如何在看板中体现优先级变化

在看板中有效体现优先级变化的关键措施包括&#xff1a;采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中&#xff0c;设置任务排序规则尤其重要&#xff0c;因为它让看板视觉上直观地体…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

数据链路层的主要功能是什么

数据链路层&#xff08;OSI模型第2层&#xff09;的核心功能是在相邻网络节点&#xff08;如交换机、主机&#xff09;间提供可靠的数据帧传输服务&#xff0c;主要职责包括&#xff1a; &#x1f511; 核心功能详解&#xff1a; 帧封装与解封装 封装&#xff1a; 将网络层下发…...

JDK 17 新特性

#JDK 17 新特性 /**************** 文本块 *****************/ python/scala中早就支持&#xff0c;不稀奇 String json “”" { “name”: “Java”, “version”: 17 } “”"; /**************** Switch 语句 -> 表达式 *****************/ 挺好的&#xff…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...