https://leetcode-cn.com/problems/animal-shelter-lcci/
[bug]
class AnimalShelf {
int cnt;
List<int[]> cats; //[0] number, [1] id
List<int[]> dogs;
public AnimalShelf() {
cats = new ArrayList<>();
dogs = new ArrayList<>();
}
public void enqueue(int[] animal) {
if(animal[1]==0){
cats.add(new int[]{animal[0], cnt++});
}
else {
dogs.add(new int[]{animal[0], cnt++});
}
}
public int[] dequeueAny() {
int[] cat = cats.get(0);
int[] dog = dogs.get(0);
if(cat[1]<dog[1]){
return dequeueCat();
}
else {
return dequeueDog();
}
}
public int[] dequeueDog() {
int[] dog = dogs.remove(0);
return new int[]{dog[0], 1};
}
public int[] dequeueCat() {
int[] cat = cats.remove(0);
return new int[]{cat[0], 0};
}
}
/**
* Your AnimalShelf object will be instantiated and called as such:
* AnimalShelf obj = new AnimalShelf();
* obj.enqueue(animal);
* int[] param_2 = obj.dequeueAny();
* int[] param_3 = obj.dequeueDog();
* int[] param_4 = obj.dequeueCat();
*/```