优化-查找列表中具有最大编号的元素。列表中存在的除数

Optimization- Finding element of list which has maximum no. of divisors present in list

Eg. [2,8,4,2]
8 has divisors 2,8,4,2
4 has divisor 2,4,2
2 has divisor 2,2

因此 8 具有列表中存在的最大除数。 我可以想到 O(n^2) 算法(排序然后暴力)但是有没有更优化的解决方案?

编辑:更新了示例。

合理取值范围:

将所有值放入地图。

找出O(sqrt(value))中每个数字的所有除数并检查它们是否在映射中

复杂度为O(n*sqrt(maxvalue))