def highest_occurrence(array):
    """
    Time: O(n)
    Space: O(n)
    :param array: strings, int or floats, can be mixed
    :return: array containing element(s) with the highest
    occurrences without type coercion.
    Returns an empty array if given array is empty.
    """
    # hash table with a count of each item in the array
    counted = {}
    for item in array:
        if item in counted.keys():
            counted[item] += 1
        else:
            counted[item] = 1

    frequencies = counted.values()
    highest_frequency = max(frequencies, default="")
    most_frequent = [item for item in counted if counted[item] == highest_frequency]
    return most_frequent