news 2026/4/15 22:32:57

Hot100——栈

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Hot100——栈

有效的括号

给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。

有效字符串需满足:

  1. 左括号必须用相同类型的右括号闭合。
  2. 左括号必须以正确的顺序闭合。
  3. 每个右括号都有一个对应的相同类型的左括号。

示例 1:

输入:s = "()"

输出:true

示例 2:

输入:s = "()[]{}"

输出:true

示例 3:

输入:s = "(]"

输出:false

示例 4:

输入:s = "([])"

输出:true

示例 5:

输入:s = "([)]"

输出:false

提示:

  • 1 <= s.length <= 104
  • s仅由括号'()[]{}'组成
class Solution: def isValid(self, s: str) -> bool: if len(s) % 2 == 1: return False pairs = { ")": "(", "]": "[", "}": "{", } stack = list() for ch in s: if ch in pairs: if not stack or stack[-1] != pairs[ch]: return False stack.pop() else: stack.append(ch) return not stack

最小栈

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

实现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
  • poptopgetMin操作总是在非空栈上调用
  • push,pop,top, andgetMin最多被调用3 * 104

借用了一个辅助栈min_stack[ ]

class MinStack: def __init__(self): self.stack = [] self.min_stack = [math.inf] def push(self, val: int) -> None: self.stack.append(val) self.min_stack.append(min(val, self.min_stack[-1])) def pop(self) -> None: self.stack.pop() self.min_stack.pop() def top(self) -> int: return self.stack[-1] def getMin(self) -> int: return self.min_stack[-1] # Your MinStack object will be instantiated and called as such: # obj = MinStack() # obj.push(val) # obj.pop() # param_3 = obj.top() # param_4 = obj.getMin()

字符串解码

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/14 2:34:31

交通仿真软件:SUMO_(15).高级仿真技术:微观与宏观仿真结合

高级仿真技术&#xff1a;微观与宏观仿真结合 在交通仿真领域&#xff0c;微观仿真和宏观仿真各自具有不同的优势和应用场景。微观仿真可以详细模拟每个车辆的行为&#xff0c;而宏观仿真则关注于交通流的整体特性。为了充分利用这两种仿真的优点&#xff0c;许多交通仿真软件提…

作者头像 李华
网站建设 2026/4/11 22:54:47

含可再生能源的配电网最佳空调负荷优化控制Matlab代码

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。 &#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室 &#x1f447; 关注我领取海量matlab电子书和数学建模资料 &#x1…

作者头像 李华
网站建设 2026/4/7 12:02:23

计算机深度学习毕设实战-基于python-cnn深度学习的是否有污渍识别基于python机器学习深度学习的是否有污渍识别

博主介绍&#xff1a;✌️码农一枚 &#xff0c;专注于大学生项目实战开发、讲解和毕业&#x1f6a2;文撰写修改等。全栈领域优质创作者&#xff0c;博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围&#xff1a;&am…

作者头像 李华
网站建设 2026/4/8 20:31:56

pytorch深度学习笔记16

目录 摘要 1.AdaGrad 2.RMSProp 3.Adam 摘要 本篇文章继续学习尚硅谷深度学习教程&#xff0c;学习内容是AdaGrad&#xff0c;​​​​​​​RMSProp&#xff0c;Adam 1.AdaGrad AdaGrad&#xff08;Adaptive Gradient&#xff0c;自适应梯度&#xff09;会为每个参数适当…

作者头像 李华
网站建设 2026/4/15 13:16:12

如何用云服务器搭建PUBG服务器?

云服务器搭建PUBG服务器完整指南一、服务器配置要求硬件配置推荐根据PUBG游戏的性能需求&#xff0c;建议选择以下配置&#xff1a;最低配置&#xff1a;CPU&#xff1a;Intel Core i5-4430 / AMD FX-6300内存&#xff1a;8GB RAM存储&#xff1a;50GB可用空间&#xff08;推荐…

作者头像 李华