zoukankan      html  css  js  c++  java
  • 0706. Design HashMap (E)

    Design HashMap (E)

    题目

    Design a HashMap without using any built-in hash table libraries.

    To be specific, your design should include these functions:

    • put(key, value) : Insert a (key, value) pair into the HashMap. If the value already exists in the HashMap, update the value.
    • get(key): Returns the value to which the specified key is mapped, or -1 if this map contains no mapping for the key.
    • remove(key) : Remove the mapping for the value key if this map contains the mapping for the key.

    Example:

    MyHashMap hashMap = new MyHashMap();
    hashMap.put(1, 1);          
    hashMap.put(2, 2);         
    hashMap.get(1);            // returns 1
    hashMap.get(3);            // returns -1 (not found)
    hashMap.put(2, 1);          // update the existing value
    hashMap.get(2);            // returns 1 
    hashMap.remove(2);          // remove the mapping for 2
    hashMap.get(2);            // returns -1 (not found) 
    

    Note:

    • All keys and values will be in the range of [0, 1000000].
    • The number of operations will be in the range of [1, 10000].
    • Please do not use the built-in HashMap library.

    题意

    实现HashMap。

    思路

    直接开一个1000001大小的数组。


    代码实现

    Java

    class MyHashMap {
        int[] hash;
    
        /** Initialize your data structure here. */
        public MyHashMap() {
            hash = new int[1000001];
            Arrays.fill(hash, -1);
        }
    
        /** value will always be non-negative. */
        public void put(int key, int value) {
            hash[key] = value;
        }
    
        /** Returns the value to which the specified key is mapped, or -1 if this map contains no mapping for the key */
        public int get(int key) {
            return hash[key];
        }
    
        /** Removes the mapping of the specified value key if this map contains a mapping for the key */
        public void remove(int key) {
            hash[key] = -1;
        }
    }
    
  • 相关阅读:
    zoj 3644 Kitty's Game
    Planets
    hdoj 2571 命运
    (理论篇)IOC概述和Unity的使用
    重温设计模式之单例模式
    重温设计模式之观察者
    重温设计模式之装饰者
    (理论篇)PetShop全概述
    (理论篇)petshop中缓存运用之我见
    (理论篇)cookie,session,viewstate,cache
  • 原文地址:https://www.cnblogs.com/mapoos/p/14495088.html
Copyright © 2011-2022 走看看