【发布时间】:2021-12-08 23:29:18
【问题描述】:
给定一个数组和某个值 X,找出满足 i < j、a[i] = a[j] 和 (i * j) % X == 0 的对数
Array size <= 10^5
我正在考虑这个问题一段时间,但只能提出蛮力解决方案(通过检查所有对),这显然会超时[O(N^2) time complexity]
有更好的方法吗?
【问题讨论】:
-
这当然取决于具体数字,但对于数组大小 N 的较大值,首先完全分解 X 然后遍历 X 的除数 d d = 1。这不是我的想法,请对待它持怀疑态度。
-
i和j是什么? -
在我的答案中添加了针对蛮力测试的代码。
标签: algorithm sorting math data-structures