首页 > 其他分享 >946. 验证栈序列

946. 验证栈序列

时间:2023-07-04 19:44:18浏览次数:31  
标签:popped 验证 946 pushed int length && 序列 stack

1. 题目

读题

 

考查点

 

2. 解法

思路

思路:

遍历pushed数组,

  将元素入栈,然后判断栈顶元素是否与popped数组中的元素相同,

  • 如果相同,就出栈,并移动popped数组的指针,
  • 否则继续入栈。

最后判断栈是否为空,如果为空,返回true,否则返回false。 

 

代码逻辑

具体实现

public boolean validateStackSequences(int[] pushed, int[] popped) {

if (popped == null || popped == null && popped.length != pushed.length) {
return false;
}
Stack<Integer> stack = new Stack<>();
int i = 0;
int n = popped.length;
for (int curr : pushed) {
stack.push(curr);
while (!stack.isEmpty() && i < n && stack.peek() == popped[i]) {
stack.pop();
i++;
}
}
return stack.isEmpty();

}

 

3. 总结

标签:popped,验证,946,pushed,int,length,&&,序列,stack
From: https://www.cnblogs.com/shoshana-kong/p/17526813.html

相关文章

  • 时间序列数据库压缩
    无损压缩无损压缩是说被压缩的数据和解压后的数据完全一样,不存在精度的损失。对数据的压缩说到底是对数据规律性的总结。时序数据的规律可以总结为两点:1、timestamp稳定递增、2、数值有规律性,变化稳定。下面来举个例子。上图是一组时序数据,如果我们一行一行的看感觉压缩有点困难,但......
  • Prüfer 序列
    简介Prüfer序列(以下为方便写作“prufer序列”)可以将一个带标号的\(n\)个结点的树用\([1,n]\)中的\(n-2\)个整数表示,也可以理解为完全图的生成树与数列之间的双射。定义prufer序列的简历过程为:选取树中所有叶子节点中编号最小的,将其的父节点加入序列末并删除该叶子节......
  • Element select表单必填验证
    特别注意:如第一段代码这里的区别是prop和v-model绑定的值不一样,这样的话是不行的,他们两个的值必须一样!!!!!而且还有一种情况,就是roleStatus必须要放在form里面,而且还必须是一个数组!!!!错误写法prop和v-model不一致<el-formlabel-width="300px":rules="rules":model="changeSourceDa......
  • .Net下验证MongoDB 的 Linq 模式联合查询是否可用
    MongoDB.Driver类库提供了Linq查询的支持。然而,在使用Linq进行联合查询时,是否能够正确转换为MongoDB底层的查询语句还有待验证。今天,我将进行实验来验证一下。输出查询语句首先,通过订阅MongoClientSettings的功能,将查询语句输出。varsettings=MongoCli......
  • 利用身份验证和授权机制,例如OAuth、JWT 和 API 密钥,APIaaS 如何帮助解决安全挑战?
    什么是APIaaS?APIaaS,即API即服务(APIasaService)是一种创新的基于云的方法,提供API(应用程序编程接口),使第三方服务提供商能够访问特定服务、数据或资源。它通过抽象内部API的复杂性,简化了开发、部署和管理API的过程。其主要目标是使开发人员和企业更容易地在其应用程序或软......
  • 易基因: RRBS揭示基于DNA甲基化驱动基因的肾透明细胞癌预后模型的鉴定和验证|项目文章
    大家好,这里是专注表观组学十余年,领跑多组学科研服务的易基因。肾细胞癌(RCC)是最常见的肾癌亚型,每年超400万例新发病例,是泌尿系统恶性肿瘤导致的第二大死因。2%-70%的RCC为透明细胞RCC(Clearcellrenalcellcarcinoma,ccRCC)。DNA甲基化(DNAmethylation,DNAm)是主要的表观遗传修饰之一......
  • form表单验证
    1、典型表单 <el-formref="form":model="form"label-width="80px"><el-form-itemlabel="活动名称"><el-inputv-model="form.name"></el-input></el-form-item><el-form-ite......
  • 直播系统搭建,随机验证码的生成
    直播系统搭建,随机验证码的生成在JavaScript中,有个随机生成数字的函数叫Math.random(),它能生成0~1之间的数字,下面我给大家简单列了个例子: <head><metacharset="utf-8"><title>随机验证码的生成</title></head><style>#number{width:130px;height:30px;text-align:center;line......
  • C#.NET Framework 使用BC库(BouncyCastle) RSA 私钥签名 公钥验签(验证签名) ver:20230704
    C#.NETFramework使用BC库(BouncyCastle)RSA私钥签名公钥验签(验证签名)ver:20230704 环境说明:.NETFramework4.6的控制台程序 。 2020年以后,有部分PKCS8私钥(openssl生成)无法用RsaUtil.LoadPrivateKey(strPriPkcs8, "PKCS8")来解析 (https://www.cnblogs.com/runliuv......
  • 如何使用libswscale库将YUV420P格式的图像序列转换为RGB24格式输出?
    一.视频格式转换初始化将视频中的图像帧按照一定比例缩放或指定宽高进行放大和缩小是视频编辑中最为常见的操作之一,这里我们将1920x1080的yuv图像序列转换成640x480的rgb图像序列,并输出到文件。视频图像转换的核心为一个SwsContext结构,其中保存了输入图像和输出图像的宽高以......