def odd_occurence_hashmap(arr):
    """
    
    Implement the solution by using a hashmap.
    We iterate through the list once, and store every value that we encounter,
    then iterate through our hashmap/dictionary structure once.
    Space complexity: $O(n)$; Time complexity: $O(n)$.
    
    Parameters
    ----------
    arr : integer

    Returns
    -------
    key : integer

    """
    hashmap = dict()
    for num in arr:
        if num in hashmap.keys():
            hashmap[num] = (hashmap[num] + 1) % 2
        else:
            hashmap[num] = 1
    for key in hashmap.keys():
        if hashmap[key] == 1:
            return key