调用 put 方法时,将数组中对应的位置赋值为 value;调用 get 方法时,返回数组中对应的位置的值;调用 remove 方法时,将数组中对应的位置赋值为 $-1$。
以上操作,时间复杂度均为 $O(1)$。
1 2 3 4 5 6 7 8 910111213141516171819
classMyHashMap:def__init__(self):self.data=[-1]*1000001defput(self,key:int,value:int)->None:self.data[key]=valuedefget(self,key:int)->int:returnself.data[key]defremove(self,key:int)->None:self.data[key]=-1# Your MyHashMap object will be instantiated and called as such:# obj = MyHashMap()# obj.put(key,value)# param_2 = obj.get(key)# obj.remove(key)
classMyHashMap{privateint[]data=newint[1000001];publicMyHashMap(){Arrays.fill(data,-1);}publicvoidput(intkey,intvalue){data[key]=value;}publicintget(intkey){returndata[key];}publicvoidremove(intkey){data[key]=-1;}}/** * Your MyHashMap object will be instantiated and called as such: * MyHashMap obj = new MyHashMap(); * obj.put(key,value); * int param_2 = obj.get(key); * obj.remove(key); */
classMyHashMap{public:intdata[1000001];MyHashMap(){memset(data,-1,sizeofdata);}voidput(intkey,intvalue){data[key]=value;}intget(intkey){returndata[key];}voidremove(intkey){data[key]=-1;}};/** * Your MyHashMap object will be instantiated and called as such: * MyHashMap* obj = new MyHashMap(); * obj->put(key,value); * int param_2 = obj->get(key); * obj->remove(key); */
typeMyHashMapstruct{data[]int}funcConstructor()MyHashMap{data:=make([]int,1000010)fori:=rangedata{data[i]=-1}returnMyHashMap{data}}func(this*MyHashMap)Put(keyint,valueint){this.data[key]=value}func(this*MyHashMap)Get(keyint)int{returnthis.data[key]}func(this*MyHashMap)Remove(keyint){this.data[key]=-1}/** * Your MyHashMap object will be instantiated and called as such: * obj := Constructor(); * obj.Put(key,value); * param_2 := obj.Get(key); * obj.Remove(key); */
classMyHashMap{data:Array<number>;constructor(){this.data=newArray(10**6+1).fill(-1);}put(key:number,value:number):void{this.data[key]=value;}get(key:number):number{returnthis.data[key];}remove(key:number):void{this.data[key]=-1;}}/** * Your MyHashMap object will be instantiated and called as such: * var obj = new MyHashMap() * obj.put(key,value) * var param_2 = obj.get(key) * obj.remove(key) */