背包中独特的成功组合

时间:2014-06-22 14:59:02

标签: algorithm dynamic-programming knapsack-problem

我有更简单的背包变体 我只想找到一个总和达到给定值的数组中的唯一成员 代码如下:

public void process(int w){

    knaprecurse(arr.length-1,w);
}

private void knaprecurse(int n,int w){
    if(arr[n]>w)
        knaprecurse(n-1,w);

    if(arr[n]==w)
    {
    //add the unique members to a list
        targetlist.add(....);//how?
    }

    if(arr[n]<w){
        knaprecurse(n-1,w);
        knaprecurse(n-1,w-arr[n]);
    }
}

如何记录每个独特的组合,这些组合会增加值?

0 个答案:

没有答案