当前位置:网站首页>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();
}
}
边栏推荐
- C alarm design
- Docker configures redis and redis clusters
- 关于 SAP UI5 floating footer 显示与否的单步调试以及使用 SAP UI5 的收益
- 关于 SAP UI5 getSAPLogonLanguage is not a function 的错误消息以及 API 版本的讨论
- 超高效!Swagger-Yapi的秘密
- NFT: how to make money with unique assets?
- 10 minute fitness method reading notes (2/5)
- Distance measuring sensor chip 4530a used in home intelligent lighting
- ActiveMQ installation and deployment simple configuration (personal test)
- View and terminate the executing thread in MySQL
猜你喜欢
JDBC -- extract JDBC tool classes
Pinduoduo flag insertion remarks API
A deep long article on the simplification and acceleration of join operation
What if wechat is mistakenly sealed? Explain the underlying logic of wechat seal in detail
Annotation problem and hidden Markov model
Kotlin变量
Notes for preparation of information system project manager --- information knowledge
SAP UI5 DynamicPage 控件介紹
研究:数据安全工具在 60% 的情况下无法抵御勒索软件
Distance measuring sensor chip 4530a used in home intelligent lighting
随机推荐
Taobao product details API | get baby SKU, main map, evaluation and other API interfaces
How can non-technical departments participate in Devops?
Full text search of MySQL
Taobao flag insertion remarks | logistics delivery interface
Taobao order amount check error, avoid capital loss API
RHCAS6
Neural network of PRML reading notes (1)
Notes for preparation of information system project manager --- information knowledge
Volatile instruction rearrangement and why instruction rearrangement is prohibited
Using docker for MySQL 8.0 master-slave configuration
Distributed solution - distributed lock solution - redis based distributed lock implementation
A possible investment strategy and a possible fuzzy fast stock valuation method
Annotation problem and hidden Markov model
Why is your next computer a computer? Explore different remote operations
stm32和电机开发(从架构图到文档编写)
10 minute fitness method reading notes (3/5)
SAP SEGW 事物码里的 ABAP 类型和 EDM 类型映射的一个具体例子
石臻臻的2021总结和2022展望 | 文末彩蛋
Redis cluster configuration
谈谈我写作生涯的画图技巧