当前位置:网站首页>946. Verify stack sequence
946. Verify stack sequence
2022-07-05 12:54:00 【accumulate steadily ض】
Given pushed
and popped
Two sequences , In each sequence The values are not repeated , Only if they could have been pushed on the original empty stack push And pop up pop When manipulating the result of a sequence , return true
; otherwise , return false
.
Example 1:
Input :pushed = [1,2,3,4,5], popped = [4,5,3,2,1] Output :true explain : We can do it in the following order : push(1), push(2), push(3), push(4), pop() -> 4, push(5), pop() -> 5, pop() -> 3, pop() -> 2, pop() -> 1
Example 2:
Input :pushed = [1,2,3,4,5], popped = [4,3,5,1,2] Output :false explain :1 Can't be in 2 Pop up before .
Tips :
1 <= pushed.length <= 1000
0 <= pushed[i] <= 1000
pushed
All elements of Different from each otherpopped.length == pushed.length
popped
yespushed
An arrangement of
Our approach is to stack the stack sequence first , When the out of stack sequence is the same as the in stack sequence , The elements at the top of the stack should be out of the stack , At the same time, the stack sequence then traverses the next element
This is the same situation :
This is a different situation :
Ideas :
Let the stack queue stack one by one , See whether the top element of the stack is the same as the out of stack queue element , If it's not the same , Let the stack queue stack one by one , If it is the same, let the top element out of the stack , At the same time, the stack queue traverses the next element , Continue reciprocating cycle , Finally, if the stack array traversal is completed and the stack is empty, it proves that the stack queue is the same as the stack queue , If the last stack array traversal is completed and the stack is not empty , That proves that the stack in queue is different from the stack out queue .
class Solution {
public boolean validateStackSequences(int[] pushed, int[] popped) {
Stack<Integer> s = new Stack<Integer>();
int index = 0;
for(int i = 0 ; i < pushed.length; i ++){
s.push(pushed[i]);// Push the stack sequence onto the stack
while(!s.isEmpty() && index<popped.length&&popped[index] == s.peek()){
// When the stack is not empty and index Do not cross the boundary to see whether the stack sequence is the same as the top element
s.pop();// If the same pop-up stack top element
index++;// Traverse the next element
}
}
return s.isEmpty();
}
}
边栏推荐
- From the perspective of technology and risk control, it is analyzed that wechat Alipay restricts the remote collection of personal collection code
- 10 minute fitness method reading notes (5/5)
- 【Nacos云原生】阅读源码第一步,本地启动Nacos
- DNS的原理介绍
- 初识Linkerd项目
- 你的下一台电脑何必是电脑,探索不一样的远程操作
- Distributed solution - Comprehensive decryption of distributed task scheduling platform - xxljob scheduling center cluster
- Taobao order amount check error, avoid capital loss API
- Comprehensive upgrade of Taobao short video photosynthetic platform
- Taobao order interface | order flag remarks, may be the most stable and easy-to-use interface
猜你喜欢
Vonedao solves the problem of organizational development effectiveness
滴滴开源DELTA:AI开发者可轻松训练自然语言模型
10 minute fitness method reading notes (5/5)
Transactions from December 27 to 28, 2021
Install rhel8.2 virtual machine
From the perspective of technology and risk control, it is analyzed that wechat Alipay restricts the remote collection of personal collection code
Kotlin variable
946. 验证栈序列
SAP UI5 视图里的 OverflowToolbar 控件
DNS的原理介绍
随机推荐
Add a new cloud disk to Huawei virtual machine
View and terminate the executing thread in MySQL
Laravel文档阅读笔记-mews/captcha的使用(验证码功能)
Storage Basics
Oppo Xiaobu launched Obert, a large pre training model, and promoted to the top of kgclue
自然语言处理从小白到精通(四):用机器学习做中文邮件内容分类
国内市场上的BI软件,到底有啥区别
946. 验证栈序列
A deep long article on the simplification and acceleration of join operation
Transactions from December 27 to 28, 2021
Vonedao solves the problem of organizational development effectiveness
2021.12.16-2021.12.20 empty four hand transaction records
Kotlin变量
Taobao flag insertion remarks | logistics delivery interface
【云原生】Nacos-TaskManager 任务管理的使用
Redis master-slave configuration and sentinel mode
滴滴开源DELTA:AI开发者可轻松训练自然语言模型
【Nacos云原生】阅读源码第一步,本地启动Nacos
Yyds dry inventory JS intercept file suffix
【云原生】Nacos中的事件发布与订阅--观察者模式