@ccyjoshua it seems your solution has a fixed bucket size. The efficiency will drop quickly when the size is increasing. So it's better to adjust (increasing or decreasing) the bucket size on the fly based on a load factor. For example, the LF = 0.75, if the size of the HashMap > 0.75 * size of Bucket, we should double the size of the bucket. Then cut the bucket by half when size of the HashMap < 0.75 * half size of Bucket.