面试题 03.06. 动物收容所
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/animal-shelter-lcci
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
/**
* 面试题 03.06. 动物收容所
* 执行用时:107 ms,
* 内存消耗:49.1 MB,
*/
class AnimalShelf {
Queue<int[]> dogs;
Queue<int[]> cats;
private static final int[] defaultans = {-1, -1};
public AnimalShelf() {
dogs = new LinkedList<>();
cats = new LinkedList<>();
}
public void enqueue(int[] animal) {
if(animal[1] == 0){
cats.offer(animal);
}else{
dogs.offer(animal);
}
}
public int[] dequeueAny() {
if(cats.isEmpty() && dogs.isEmpty()){
return defaultans;
}else{
if(cats.isEmpty()){
return dogs.poll();
}
if(dogs.isEmpty()){
return cats.poll();
}
return cats.peek()[0] < dogs.peek()[0] ? cats.poll() : dogs.poll();
}
}
public int[] dequeueDog() {
if(!dogs.isEmpty()){
return dogs.poll();
}
return defaultans;
}
public int[] dequeueCat() {
if(!cats.isEmpty()){
return cats.poll();
}
return defaultans;
}
}