我的问题是找到给定大小为'N'的数组的大小为3的子集,其总和可以被给定的小素数'P'整除,并且约束如下:
所有整数值均为<1000
我找不到任何方法,想以最佳的时间和空间复杂度解决给定的问题吗?。
答案 0 :(得分:-1)
嗯...这是个主意:要确定总和是否可以除以P,您并不真正在乎整数本身-仅将整数除以P即可得到提示。因此,您可以将所有整数替换为其提示。然后数一下。您根本不在乎他们的订单-只是每个订单有多少。接下来,对于任何P,您都可以枚举3个提醒的所有可能组合,并查看相加后哪个产生0,P或2P。对于所有这些组合,请查看计数以何种方式获得它们。