优化-查找列表中具有最大编号的元素。列表中存在的除数
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))
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))