首页 > 试题广场 >

分条件出栈

[编程题]分条件出栈
  • 热度指数:18674 时间限制:C/C++ 3秒,其他语言6秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解

给定一个栈及一个操作序列int[][2] ope(C++中为vector<vector<int>>),代表所进行的入栈出栈操作。第一个元素为1则入栈,第二个元素为数的正负号;第一个元素为2则出栈,第二个元素若为0则出最先入栈的那个数,为1则出最先入栈的正数,为-1则出最先入栈的负数。请按顺序返回出栈的序列,并做异常处理忽略错误操作。

测试样例:
[[1,1],[1,-1],[2,0],[2,-1]]
返回:[1,-1]
头像 Jorunnaparva
发表于 2020-10-06 22:27:28
原题:猫狗收容所 有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式,第一种为直接收养所有动物中最早进入收容所的,第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。给定一个操作序列int[][2] ope(C++中为vector<vector<i 展开全文
头像 牛客64086195号
发表于 2020-04-01 13:36:20
public class CatDogAsylum { public ArrayList<integer> asylum(int[][] ope) { ArrayList<integer> result=new ArrayList<>();//存 展开全文
头像 DPP333
发表于 2019-08-24 10:14:14
直接笨方法 # -*- coding:utf-8 -*- class CatDogAsylum: def asylum(self, ope): # write code here result=[] enter=[] for t 展开全文
头像 flyflyfly00
发表于 2021-03-06 17:26:37
和书上写法不一样,输出的数是对的,但不确定能否通过测试。 #include <iostream> #include <cstdio> #include <algorithm> #include <queue> using namespace std; 展开全文
头像 LegendaryGZ
发表于 2021-01-25 15:59:21
说是让弄进出栈,其实是个队列问题弄两个队列,遇到1就进队列,遇到2出来,对2分个情况注意调用get()的时候判个空就解决了import java.util.*; public class CatDogAsylum { public ArrayList<integer> asylum 展开全文