【发布时间】:2015-07-30 15:36:36
【问题描述】:
我试图找到一个数组的所有可能组合。我找不到类似的问题,所以我在这里问。
假设我有数组 A 和 N ,整数 T 作为输入,我需要找到数组 S 的所有可能组合,以满足以下不等式。
输入:A(a1,a2,...,ak) , N(n1,n2,...,nk) , int T
输出:S(s1,s2,....sk)
受制于:
总和 ( si*ai )
和
对于每个 i:si
有什么想法吗?你如何实现它?我将使用 c++ 来实现它。
【问题讨论】:
-
您说您正在寻找
N的子数组S。然而,有两件事对我来说很突出。如果N=(n1,n2,...,nk)和S=(s1,s2,...,sk)则|N|=|S|并且唯一有效的子数组是N=S。您还声明for each i: si <= ni暗示某些si元素可能不在N中。这与我对子数组的理解相反。你能澄清这些观点吗?目前还不清楚,充其量,你在这里寻找什么。 -
@huck_cussler you
re right , it is not subarray , I just didnt 知道如何命名它。例如:N=[0,2,3,0,1],一种可能是 S=[0,1,2,0,0] 或 S=[0,2,0,0,1],我更正了问题。 -
是
A、S、N整数、自然数、实数数组...? -
@huck_cussler N 和 S 是整数数组。 A 可以是实数。
标签: arrays algorithm combinations