public class CatDogAsylum {
public ArrayList<integer> asylum(int[][] ope) {
ArrayList<integer> result=new ArrayList<>();//存放收养的顺序
ArrayList<integer> cat_dog=new ArrayList<>();//收容的猫狗
//遍历ope这个二维数组
for(int i=0;i<ope.length;i++){
switch (ope[i][0]){
case 1://当第一个元素为1时,将元素增加到cat_dog
cat_dog.add(ope[i][1]);
break;
case 2://当第二个元素为2时,将元素增加到result
//判断第二个元素是否为0如果为零获取cat_dog的首元素.增加到result
if(!cat_dog.isEmpty()&&ope[i][1]==0){
result.add(cat_dog.get(0));
cat_dog.remove(0);</integer></integer></integer>
} else if (ope[i][1]==1){//当第二个元素为1时,表示收养狗 for(int j=0;j<cat_dog.size();j++){ if(cat_dog.get(j)>0){ result.add(cat_dog.get(j)); cat_dog.remove(j); break; } } } else if(ope[i][1]==-1){//当第二个元素为-1时,表示收养猫 for(int z=0;z<cat_dog.size();z++){ if(cat_dog.get(z)<0){ result.add(cat_dog.get(z)); cat_dog.remove(z); break; } } } break; } } return result; }
}