问题:给定一个数组A,表示一条线上的点,例如[5,-4,1,3,6],以及一个数字M=3,找到A中距离彼此是M的倍数的点的最大子集。
在这个例子中,两个可能的子集是[-4,5](距离9)和[3,6](距离3)。
明显的暴力解决方案是计算O(N^2)时间内每对点之间的距离,然后通过逐步构建子集来建立候选集。
是否有更有效的解决方案?
在这个例子中,两个可能的子集是[-4,5](距离9)和[3,6](距离3)。
明显的暴力解决方案是计算O(N^2)时间内每对点之间的距离,然后通过逐步构建子集来建立候选集。
是否有更有效的解决方案?