Akuna Capital | OA | Quant New Grad 2020

Duration: 120 mins

Akuna Capital question about ports and hashing

def sentTimes(numberOfPorts, transmissionTime, packetIds):
    # Write your code here
    hashmap = {}
    for i in range(numberOfPorts):
        hashmap[i] = 0
    count = 0
    packet = []
    for packetId in packetIds:
        hash_val = packetId % numberOfPorts
        if hashmap[hash_val] <= count:
            packet.append(hash_val)
            hashmap[hash_val] = transmissionTime + count
            count = count + 1
        else:    
            while hashmap[hash_val]>count:
                hash_val = (hash_val + 1) % numberOfPorts
            hashmap[hash_val] = transmissionTime + count
            packet.append(hash_val)
            count = count + 1

    return packet