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

LeetCode每日一题——946. 验证栈序列

目录

  • 题目
  • 示例
  • 思路
  • 题解

题目

给定 pushed 和 popped 两个序列,每个序列中的 值都不重复,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回 true;否则,返回 false 。

示例

示例 1:

输入:pushed = [1,2,3,4,5], popped = [4,5,3,2,1]
输出:true
解释:我们可以按以下顺序执行:
push(1), push(2), push(3), push(4), pop() -> 4, push(5), pop() -> 5,
pop() -> 3, pop() -> 2, pop() -> 1

示例 2:

输入:pushed = [1,2,3,4,5], popped = [4,3,5,1,2]
输出:false
解释:1 不能在 2之前弹出。

提示:

1 <= pushed.length <= 1000
0 <= pushed[i] <= 1000
pushed 的所有元素 互不相同
popped.length == pushed.length
popped 是 pushed 的一个排列

思路

本题实际上是验证出栈序列是否合理,这里可以直接用栈模拟。

题解

class Solution:
    def validateStackSequences(self, pushed: List[int], popped: List[int]) -> bool:
        poped = deque(popped)
        pushed = deque(pushed)
        temp = [pushed.popleft()]
        while len(poped) != 0 or len(pushed) != 0:
            if  len(temp) == 0 or temp[len(temp) - 1] != poped[0]:
                if poped[0] in temp:
                    return False
                temp.append(pushed.popleft())
            else:
                temp.pop()
                poped.popleft()
        return True

相关文章:

  • Mybatis的注解实现复杂映射开发
  • 【Games101 作业6 + 附加题】渲染兔子 BVH SAH 代码
  • 全球最强智算来了:12000000000000000000(别数了18个0)FLOPS!
  • 轻量级神经网络算法系列文章-ShuffleNet v2
  • 4-20mA 电压控制电流输出电路浅析
  • java+python+vue高校竞赛报名系统
  • 7 张图解 CrashLoopBackOff,如何发现问题并解决它?
  • 面试前“啃完”这份Java架构全栈知识点,金九银十过五关斩六将!
  • Vue.js核心技术解析与uni-app跨平台实战开发学习笔记 第12章 Vue3.X新特性解析 12.1 Vue3.0 新特性
  • 深入Spring Boot :打包解决方案
  • SE38 SE10 程序/事务码修改日志报表/TR日志/请求号日志
  • CC2642打开例程
  • 【原创】ZLMediaKit学习(二):Android播流 - 大盘站
  • NGINX基础知识:从零开始配置高性能服务器
  • 华为od德科面试数据算法解析 2022-8-29 24按身高和体重排队
  • 【Leetcode】101. 对称二叉树
  • 2017年终总结、随想
  • C++入门教程(10):for 语句
  • ES学习笔记(10)--ES6中的函数和数组补漏
  • input实现文字超出省略号功能
  • iOS | NSProxy
  • Java Agent 学习笔记
  • Netty 4.1 源代码学习:线程模型
  • niucms就是以城市为分割单位,在上面 小区/乡村/同城论坛+58+团购
  • October CMS - 快速入门 9 Images And Galleries
  • Spring-boot 启动时碰到的错误
  • SpringBoot 实战 (三) | 配置文件详解
  • vue-cli3搭建项目
  • Vue官网教程学习过程中值得记录的一些事情
  • 漂亮刷新控件-iOS
  • 优化 Vue 项目编译文件大小
  • 找一份好的前端工作,起点很重要
  • 阿里云API、SDK和CLI应用实践方案
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​ArcGIS Pro 如何批量删除字段
  • #vue3 实现前端下载excel文件模板功能
  • (26)4.7 字符函数和字符串函数
  • (二)Pytorch快速搭建神经网络模型实现气温预测回归(代码+详细注解)
  • (论文阅读11/100)Fast R-CNN
  • (一)基于IDEA的JAVA基础1
  • (原創) 如何讓IE7按第二次Ctrl + Tab時,回到原來的索引標籤? (Web) (IE) (OS) (Windows)...
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .Net Framework 4.x 程序到底运行在哪个 CLR 版本之上
  • .net 中viewstate的原理和使用
  • .net操作Excel出错解决
  • .NET基础篇——反射的奥妙
  • @font-face 用字体画图标
  • [ vulhub漏洞复现篇 ] AppWeb认证绕过漏洞(CVE-2018-8715)
  • [2669]2-2 Time类的定义
  • [Android] Implementation vs API dependency
  • [asp.net core]project.json(2)
  • [C++打怪升级]--学习总目录
  • [codevs1288] 埃及分数
  • [E链表] lc83. 删除排序链表中的重复元素(单链表+模拟)
  • [HarekazeCTF2019]encode_and_encode 不会编程的崽