classAnimalShelf:def__init__(self):self.q=[deque(),deque()]defenqueue(self,animal:List[int])->None:i,j=animalself.q[j].append(i)defdequeueAny(self)->List[int]:ifnotself.q[0]or(self.q[1]andself.q[1][0]<self.q[0][0]):returnself.dequeueDog()returnself.dequeueCat()defdequeueDog(self)->List[int]:return[-1,-1]ifnotself.q[1]else[self.q[1].popleft(),1]defdequeueCat(self)->List[int]:return[-1,-1]ifnotself.q[0]else[self.q[0].popleft(),0]# Your AnimalShelf object will be instantiated and called as such:# obj = AnimalShelf()# obj.enqueue(animal)# param_2 = obj.dequeueAny()# param_3 = obj.dequeueDog()# param_4 = obj.dequeueCat()
classAnimalShelf{privateq:number[][]=[[],[]];constructor(){}enqueue(animal:number[]):void{const[i,j]=animal;this.q[j].push(i);}dequeueAny():number[]{if(this.q[0].length===0||(this.q[1].length>0&&this.q[0][0]>this.q[1][0])){returnthis.dequeueDog();}returnthis.dequeueCat();}dequeueDog():number[]{if(this.q[1].length===0){return[-1,-1];}return[this.q[1].shift()!,1];}dequeueCat():number[]{if(this.q[0].length===0){return[-1,-1];}return[this.q[0].shift()!,0];}}/** * Your AnimalShelf object will be instantiated and called as such: * var obj = new AnimalShelf() * obj.enqueue(animal) * var param_2 = obj.dequeueAny() * var param_3 = obj.dequeueDog() * var param_4 = obj.dequeueCat() */
classAnimalShelf{privatevarq:[[Int]]=Array(repeating:[],count:2)init(){}funcenqueue(_animal:[Int]){q[animal[1]].append(animal[0])}funcdequeueAny()->[Int]{ifq[0].isEmpty||(!q[1].isEmpty&&q[1].first!<q[0].first!){returndequeueDog()}returndequeueCat()}funcdequeueDog()->[Int]{returnq[1].isEmpty?[-1,-1]:[q[1].removeFirst(),1]}funcdequeueCat()->[Int]{returnq[0].isEmpty?[-1,-1]:[q[0].removeFirst(),0]}}/** * Your AnimalShelf object will be instantiated and called as such: * let obj = new AnimalShelf(); * obj.enqueue(animal); * let param_2 = obj.dequeueAny(); * let param_3 = obj.dequeueDog(); * let param_4 = obj.dequeueCat(); */