<分区>
我给了一个数组。我想找到一个数组的所有排列,以便它总和为特定数字。
示例数组 a =[2,3,5 , 1]
目标 = 8
`解决方案:[2,2,2,2] ,[5,3] ,[3,3,2] ,[5,2,1 ] 和所有可能的组合
请给我一个解决这个问题的方法,我面临的问题是如何处理元素的重复。目标是大量的 10^6。
我认为它与 This theory 相同
标签 algorithm
<分区>
我给了一个数组。我想找到一个数组的所有排列,以便它总和为特定数字。
示例数组 a =[2,3,5 , 1]
目标 = 8
`解决方案:[2,2,2,2] ,[5,3] ,[3,3,2] ,[5,2,1 ] 和所有可能的组合
请给我一个解决这个问题的方法,我面临的问题是如何处理元素的重复。目标是大量的 10^6。
我认为它与 This theory 相同
最佳答案
您正面临一个典型的 Subset Problem .无论你怎么说,这个问题的最坏情况复杂度都是指数级的。不过,您可能会发现很好的多项式时间近似值,它们对平均情况有奇效。
关于algorithm - 排列数组中的数字以求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25773372/