news 2026/7/9 11:37:02

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/7/2 9:39:37

Buck电源仿真设计,基于MATLAB/Simulink建模仿真。 使用Control System

Buck电源仿真设计&#xff0c;基于MATLAB/Simulink建模仿真。 使用Control System Tool的sisotool模块&#xff0c;对Buck电路的控制环参数进行设计&#xff0c;可以一键生成传递函数&#xff0c;生成bode图。 可以进行PI参数整定。 仿真模型验证。 包含word文档对建模和校正过…

作者头像 李华
网站建设 2026/7/2 6:54:24

8款AI论文工具一站式操作指南:免费写开题报告超简单

你是不是正对着空白的文档发呆&#xff0c;不知如何下笔写开题报告&#xff1f;或者面对海量文献&#xff0c;感觉无从下手&#xff1f;别担心&#xff0c;随着AI技术的发展&#xff0c;现在有了一系列强大的工具&#xff0c;可以成为你学术道路上的“神助攻”。本文将为你带来…

作者头像 李华
网站建设 2026/7/1 11:19:48

基于MATLAB/Simulink的Statcom静止无功补偿器仿真探秘

Statcom&#xff1a;基于MATLAB/Simulink的静止无功补偿器仿真模型&#xff0c;负载端加入断路器模拟断路故障。 仿真条件&#xff1a;MATLAB/Simulink R2015b在电力系统的研究与优化中&#xff0c;静止无功补偿器&#xff08;Statcom&#xff09;起着举足轻重的作用。今天咱们…

作者头像 李华
网站建设 2026/7/2 4:39:37

Comsol无偏振转换吸收器多重干涉理论探索

Comsol无偏振转换吸收器多重干涉理论。 包含透反射计算&#xff0c;S参数特殊处理&#xff0c;Matlab脚本等。在研究Comsol无偏振转换吸收器时&#xff0c;多重干涉理论是其中的关键要点。多重干涉发生在吸收器的多层结构中&#xff0c;不同层之间的界面会导致光的多次反射和干…

作者头像 李华
网站建设 2026/6/29 14:24:52

MATLAB基于领航追随法的车辆编队控制,领航追随者与人工势场法的简单融合实现避障

MATLAB基于领航追随法的车辆编队控制&#xff0c;领航追随者与人工势场法的简单融合实现避障系统概述 本文介绍了一个基于领航追随法的多车辆编队控制系统&#xff0c;该系统实现了由一个领航车辆和两个跟随车辆组成的编队运动控制&#xff0c;并集成了人工势场法进行动态避障。…

作者头像 李华