百练 1363.Rails
生活随笔
收集整理的這篇文章主要介紹了
百练 1363.Rails
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
題目鏈接:https://vjudge.net/problem/OpenJ_Bailian-1363
Ideas
一道挺明顯的棧的應(yīng)用題目。
給定一個(gè)數(shù)字 n,那么進(jìn)棧的順序就確定了,就是:1, 2, …, N。
但并不是一下全部入棧,而是我們要檢查題目給定的出棧順序,如果出現(xiàn)能夠跟出棧順序匹配上的數(shù)字,那么就按照出棧順序出棧,否則就繼續(xù)入棧。
如果所有的元素都入棧了,結(jié)果出棧順序還沒(méi)有檢查完,那就說(shuō)明此出棧順序進(jìn)非法。
Code
Python
if __name__ == '__main__':n = int(input())while n != 0:while True:pop_list = list(map(int, input().split(' ')))if pop_list[0] == 0:breakidx, stack = 0, []for i in range(1, n + 1):stack.append(i)while stack and stack[-1] == pop_list[idx]:idx += 1stack.pop()if idx == n:print("Yes")else:print("No")print()n = int(input())總結(jié)
以上是生活随笔為你收集整理的百练 1363.Rails的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: LeetCode Algorithm 4
- 下一篇: 2019年第十届蓝桥杯 - 省赛 - C