大佬教程收集整理的这篇文章主要介绍了相同的逻辑适用于c但不能在python中最大化堆栈,我的代码中是否存在某些内容,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
#include <bits/stdc++.h> using namespace std; int main() { int n,q,x; stack<int>s1,s2; cin>>n; for(int i = 0;i<n;i++) { cin>>q;//here q is a type of query switch(q) { //push in stack case 1: cin>>x; if (s1.empty()) { s2.push(X); } else { if (x >= s2.top()) { s2.push(X); } } s1.push(X); break; //pop from stack case 2: if(!s1.empty()) { if(s1.top()==s2.top()) { s2.pop(); } s1.pop(); } break; //getMax from stack case 3: if(!s2.empty()) cout<<s2.top()<<endl; } } return 0; }
stack1 = stack2 = [] N = int(input()) for i in range(N): a = list(map(int,input().rStrip().split())) if a[0]==1: if stack1 == []: stack2.append(a[1]) elif a[1]>=stack2[-1]: stack2.append(a[1]) stack1.append(a[1]) elif a[0]==2: if stack1 != []: if stack1[-1] == stack2[-1]: stack2.pop() stack1.pop() elif a[0] == 3: if stack2 != []: print(stack2[-1])
对我来说似乎是一样的.
我在其他在线编译器上尝试了几个我自己的测试用例,它们对两者都一样.
我应该在python中使用队列模块中的LIFO,但到目前为止我还没有遇到任何使用列表作为堆栈的问题.
它们都应该适用于所有测试用例.
以上是大佬教程为你收集整理的相同的逻辑适用于c但不能在python中最大化堆栈,我的代码中是否存在某些内容全部内容,希望文章能够帮你解决相同的逻辑适用于c但不能在python中最大化堆栈,我的代码中是否存在某些内容所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。