猫狗收容所
来源:互联网 发布:视频服务器软件有哪些 编辑:程序博客网 时间:2024/04/30 02:59
import java.util.ArrayList;/** * 猫狗收容所 * 有家动物收容所只收留猫和狗,但有特殊的收养规则,收养人有两种收养方式: * 第一种为直接收养所有动物中最早进入收容所的; * 第二种为选择收养的动物类型(猫或狗),并收养该种动物中最早进入收容所的。 * --------------------------------------------------------------------- * 给定一个操作序列int[][2] 代表所有事件。 * 若第一个元素为1,则代表有动物进入收容所, * 第二个元素为动物的编号,正数代表狗,负数代表猫; * 若第一个元素为2,则代表有人收养动物, * 第二个元素若为0,则采取第一种收养方式, * 若为1,则指定收养狗, * 若为-1则指定收养猫。请按顺序返回收养的序列。 * 若出现不合法的操作,即没有可以符合领养要求的动物,则将这次领养操作忽略。 * --------------------------------------------------------------------- * 用两个动态数组intput 和 output 分别维护被送进收容所的动物和被收养人从收容所领养的动物。 * @author Administrator * */public class CatDogAsylum{ /** * 操作序列 * A ope[i][0] = 1 时,有动物被送进收容所 * ope[i][1] > 0 时,送进来收容所的动物为狗; * ope[i][1] < 0 时,送进来收容所的动物为狗; * * B ope[i][0] = 2 时,有动物被人领养 * ope[i][1] = 0 时,收养最早进入收容所的动物 * ope[i][1] = 1 时,收养最早进入收容所的狗 * ope[i][1] =-1 时,收养最早进入收容所的猫 */ int[][] ope; public static ArrayList<Integer> asylum(int[][] ope){ //收容所 ArrayList<Integer> input = new ArrayList<Integer>(); //领养 ArrayList<Integer> output = new ArrayList<Integer>(); if(ope == null || ope.length == 0) return null; for(int i = 0;i < ope.length;i++){ switch(ope[i][0]){ //有动物进入收容所 case 1: input.add(ope[i][1]); break; //有动物要被领养 case 2: //1 领养最早进入收容所的动物 if(ope[i][1] == 0){ for(int j = 0;j < input.size();j++){ if(input.get(j) != 0){ output.add(input.get(j)); input.set(j,0); break; } } } //2 领养最早进入收容所的狗 else if(ope[i][1] == 1){ for(int j = 0;j < input.size();j++){ if(input.get(j) > 0){ output.add(input.get(j)); input.set(j,0); break; } } } //2 领养最早进入收容所的猫 else if(ope[i][1] == -1){ for(int j = 0;j < input.size();j++){ if(input.get(j) < 0){ output.add(input.get(j)); input.set(j,0); break; } } } break; } } return output; }}
阅读全文
0 0
- 猫狗收容所
- 牛客网 | 猫狗收容所
- 猫狗收容所
- 猫狗收容所
- 猫狗收容所
- 猫狗收容所
- 猫狗收容所
- 《程序员面试金典》猫狗收容所
- 《程序员面试金典》--狗猫收容所
- 猫狗收容所之程序员面试经典
- 【程序员面试金典】猫狗收容所
- 以队列的方式实现收容所收养猫和狗
- 程序员面试金典题解 猫狗收容所
- 程序员面试金典——猫狗收容所
- 程序员面试金典:双栈排序、猫狗收容所
- 第六天 用两个栈实现队列+双栈排序+猫狗收容所
- 《Cracking the Coding Interview程序员面试金典》----猫狗收容所
- 犬类收容所人员将7只小狗当狗妈妈面摔死
- thymeleaf标签之th:href的使用
- 一、学习百度地图Android SDK v4.3.0 之基础地图
- 算法(-):递归
- ST表+堆——BZOJ2006/Luogu2048 [NOI2010]超级钢琴
- juery验证之后如何清除form表单的数据
- 猫狗收容所
- 字符串与json互相转换
- eclipse中git配置
- shader内置变量和函数
- 如何选择深度学习框架 TensorFlow/Torch/Mxnet/Theano
- Unity利用WebServices连接MySql
- 共享单车回收难ofo垃圾成山 共享单车该如何管理?
- 基础算法(三)---选择排序(Java)
- 操作properties文件