相关疑难解决方法(0)

具有固定子集大小的Sum子集

款项子集的问题指出:

给定一组整数,是否有一个非空子集,其总和为零?

这个问题一般是NP完全的.我很好奇这个轻微变体的复杂性是否已知:

给定一组整数,是否有一个大小k的子集,其总和为零?

例如,如果k = 1,您可以执行二进制搜索以查找答案O(log n).如果k = 2,则可以将其归结为O(n log n)(例如,请参阅查找一个数组中的一对元素,其总和等于给定数字).如果k = 3,则可以这样做O(n^2)(例如,参见查找数组中的三个元素,其总和最接近给定数字).

是否有一个已知的界限可以作为一个函数放在这个问题上k

作为动机,我正在考虑这个问题你如何将一个数组分成两部分,使这两部分具有相同的平均值?并试图确定它是否实际上是NP完全的.答案在于是否存在如上所述的公式.

除非采用一般解决方案,否则我非常有兴趣知道最佳约束k=4.

language-agnostic algorithm np

30
推荐指数
2
解决办法
2万
查看次数

PHP查找所有(某种程度上)数组的唯一组合

我整天都在看PHP数组排列/组合问题..但仍然无法弄明白:/

如果我有一个像这样的数组:

20 //key being 0    
20 //key being 1    
22 //key being 2    
24 //key being 3
Run Code Online (Sandbox Code Playgroud)

我需要组合如:

20, 20, 22 //keys being 0 1 2    
20, 20, 24 //keys being 0 1 3    
20, 22, 24 //keys being 0 2 3
20, 22, 24 //keys being 1 2 3
Run Code Online (Sandbox Code Playgroud)

我目前的代码给了我:

20, 22, 24
Run Code Online (Sandbox Code Playgroud)

因为它不想重复20 ...但这就是我需要的!

这是我的代码.它直接来自Php递归以获得字符串的所有可能性

function getCombinations($base,$n){

$baselen = count($base);
if($baselen == 0){
    return;
}
    if($n == 1){
        $return = array();
        foreach($base as $b){
            $return[] = …
Run Code Online (Sandbox Code Playgroud)

php algorithm recursion combinations permutation

9
推荐指数
1
解决办法
1万
查看次数

子集和问题

我有一个计数问题,这是这个问题的延续.我不是一个真正的数学家,所以我很难弄清楚subset sum problem这被建议作为解决方案.

我有4个ArrayList我持有数据:alId,alTransaction,alNumber,alPrice

输入| 交易| 号码| 价格
8 | 买| 95.00000000 | 305.00000000
8 | 买| 126.00000000 | 305.00000000
8 | 买| 93.00000000 | 306.00000000
8 | 转出| 221.00000000 | 305.00000000
8 | 转入| 221.00000000 | 305.00000000
8 | 卖| 93.00000000 | 360.00000000
8 | 卖| 95.00000000 | 360.00000000
8 | 卖| 126.00000000 | 360.00000000
8 | 买| 276.00000000 | 380.00000000

最后,我正在尝试为客户留下剩下的东西以及我放入3个数组列表的内容:
- alNewHowMuch(对应于alNumber),
- alNewPrice(对应于alPrice),
- alNewInID(对alID的corrseponds)

        ArrayList alNewHowMuch = new ArrayList(); …
Run Code Online (Sandbox Code Playgroud)

c# sql-server algorithm .net-3.5

5
推荐指数
2
解决办法
8364
查看次数