梁辰兴11 天前
c语言·数据结构·算法·c··队列
数据结构:栈和队列栈和队列是两种特殊的线性表,它们在操作上具有严格的限制,广泛应用于算法设计、系统开发等领域。栈(Stack) 是一种限定仅在表尾进行插入和删除操作的线性表,其核心特点可概括为**“后进先出”(Last In First Out,LIFO)**。
Alfred king17 天前
字符串·
面试150 有效的括号通过栈去模拟,如果是遇到左括号,右括号进栈,如果当前栈一直为空或者当前元素与栈顶元素不相同,则说明不是有效的括号,直接返回False,然后如果当前元素和栈顶元素匹配,则将栈内的元素弹出。最后如果栈为空,说明是有效的括号,反则不是
会的全对٩(ˊᗜˋ*)و23 天前
数据结构·经验分享·
【数据结构】栈熟悉栈的定义,栈的特点以及栈的基本操作。能够根据实际情况选择合适的存储结构,解决实际问题。对任意给定的一个中缀算术表达式输出等价的后缀形式。
float_com1 个月前
算法··单调栈
【单调栈】-----【Largest Rectangle in a Histogram】题目链接如图所示,在一条水平线上有 n n n 个宽为 1 1 1 的矩形,求包含于这些矩形的最大子矩形面积(图中的阴影部分的面积即所求答案)。
Cherl.1 个月前
开发语言·c++·类和对象··函数模板·类模板
C++ 函数模板与类模板目录引言函数模板基本概念代码示例解析实例化类模板基本概念代码示例解析实例化总结在 C++ 中,模板(Template)是一种强大的特性,它允许我们编写通用的代码,以处理不同的数据类型。模板分为函数模板和类模板,本文将结合实际代码,详细解析这两种模板,并以代码中的 Stack 类模板为例进行深入探讨。
CS创新实验室1 个月前
python···cpython·局部变量
CPython 局部变量存储机制:从 “栈上存储“ 看语言实现差异在 Python 开发中,常听到 局部变量存储在栈上 的说法,但这句话背后的技术细节却与 C/C++ 等语言存在本质区别。理解 CPython 的变量存储机制,不仅能解开这个认知谜团,还能帮助我们写出更高效率的代码。
笑口常开xpr1 个月前
数据结构··队列
线 性 数 据 结 构 双 雄:栈 与 队 列 的 原 理、实 现 与 应 用💻作 者 简 介:曾 与 你 一 样 迷 茫,现 以 经 验 助 你 入 门 数据 结 构。 💡个 人 主 页:@笑口常开xpr 的 个 人 主 页 📚系 列 专 栏:硬 核 数 据 结 构 与 算 法 ✨代 码 趣 语:栈 如 弹 夹,后 进 先 出;队 似 排 队,先 进 先 出。 💪代 码 千 行,始 于 坚 持,每 日 敲 码,进 阶 编 程 之 路。 📦gitee 链 接:gitee
积极向上的向日葵2 个月前
数据结构·算法·
有效的括号题解首先给出思路: 1.这道题要调用栈,详情可以看:https://blog.csdn.net/xpcxpt/article/details/148481903?spm=1001.2014.3001.5501
Tisfy2 个月前
leetcode·机器人·字符串·题解·贪心·
LeetCode 2434.使用机器人打印字典序最小的字符串:贪心(栈)——清晰题解力扣题目链接:https://leetcode.cn/problems/using-a-robot-to-print-the-lexicographically-smallest-string/
芜湖xin2 个月前
算法·
【题解-洛谷】B4278 [蓝桥杯青少年组国赛 2023] 简单算术题给定一道没有括号的四则混合运算算术题(可能包含多余的空格),请编程计算出结果。运算规则如下:例如:当算术题为 2 + 3 ∗ 4 − 10 / 6 + 1 / 2 ∗ 4 \tt{2 + 3*4 - 10/6 + 1/2*4} 2+3∗4−10/6+1/2∗4 时:
零叹2 个月前
java·数据结构·面试·面试题·双端队列··队列
篇章七 数据结构——栈和队列目录1. 栈(Stack)1.1 概念1.图示栈概念:2.栈在现实生活中的例子:1.2 栈的使用1.3 栈的模拟实现
理论最高的吻2 个月前
c++·算法·leetcode·职场和发展·字符串··字符匹配
1614. 括号的最大嵌套深度【 力扣(LeetCode) 】1614. 括号的最大嵌套深度给定 有效括号字符串 s,返回 s 的 嵌套深度。嵌套深度是嵌套括号的 最大 数量。
keep intensify3 个月前
c语言·数据结构·算法·
【数据结构】- 栈经过了几个月的漫长岁月,回头时年迈的小编发现,数据结构的内容还没有写博客,于是小编赶紧停下手头的活动,补上博客以洗清身上的罪孽
Espresso Macchiato3 个月前
leetcode··leetcode medium·leetcode 3523·leetcode周赛446
Leetcode 3523. Make Array Non-decreasing这一题思路上来说就是一个栈的问题,就是从后往前依次考察每一个元素,显然,当前位置要么被舍弃,要么被保留,但是无论如何其对应位置一定会留下一个至少不小于当前元素大小的新元素,因此,后续所有比起更小的元素都无法被保留。
xiaolingting4 个月前
java··二叉树非递归遍历
Java 二叉树非递归遍历核心实现非递归遍历的核心是用栈模拟递归的调用过程,通过手动维护栈来替代系统栈,实现前序、中序和后序遍历。以下是三种遍历的代码实现与关键逻辑分析:
代码AC不AC4 个月前
数据结构·学习·leetcode·练习·
【数据结构】栈 与【LeetCode】20.有效的括号详解栈:⼀种特殊的线性表,其只允许在固定的⼀端进行元素的插入和删除元素操作。进行数据插入和删除操作的⼀端称为栈顶,另⼀端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。 压栈:栈的插入操作叫做进栈/压栈/入栈,入数据在栈顶。 出栈:栈的删除操作叫做出栈。出数据也在栈顶。 以上这张图片很好的反映了栈的结构,及出入栈的顺序。
_extraordinary_4 个月前
算法·leetcode·
栈刷题+总结题目链接1. 用字符串模拟栈的行为,字符串的尾部插入和删除,并且这样得到的答案是不需要逆置的题目链接1. 用字符串模拟栈的行为,和上一题基本上是一样的套路
_extraordinary_4 个月前
动态规划·字符串·贪心··用字符串模拟栈
笔试刷题专题(一)题目链接1. 状态表示:以i位置为结尾的最小花费 2. 状态转移方程: dp[i] = min(dp[i-1] + cost[i-1,dp[i-2] + cost[i-2]) 可以从 i-1 位置和 i-2 到达 i 位置 注意 dp[i] 表示的是 i 位置之前的最小花费,还要加上该点的位置才是到达这个点的最小花费 注意楼顶的位置是n下标的位置 3.从左往右开始填表 4. 初始化:dp[0] = dp[1] = 0,因为从0或者1位置开始向后走,之前是没有花费的
橘颂TA4 个月前
开发语言·数据结构·c++··学生
【C++】数据结构 栈的实现本篇博客给大家带来的是用C++语言来实现数据结构的栈的实现!🐟🐟文章专栏:数据结构🚀🚀若有问题评论区下讨论,我会及时回答
等等5435 个月前
java·数据结构··队列
数据结构——栈和队列<E> 是一个类型参数,表示栈中存储的元素类型。必须判空:在调用 pop() 或 peek() 之前,必须使用 isEmpty() 方法检查栈是否为空。