整数の 2 つのセット (正と負の両方) を取り、それぞれの中で同じ合計を持つサブセットを見つけることができるアルゴリズムを探しています。
この問題は、サブセットの和の問題と似ていますが、両側でサブセットを探している点が異なります。
次に例を示します。
リスト A {4、5、9、10、1}
リスト B {21, 7, -4, 180}
したがって、ここでの唯一の一致は次のとおりです: {10, 1, 4, 9} <=> {21, 7, -4}
この種の問題に対する既存のアルゴリズムがあるかどうかは誰にもわかりませんか?
これまでのところ、私が持っている唯一の解決策は、すべての組み合わせを試す力ずくのアプローチですが、指数時間で実行され、時間がかかりすぎないように考慮する要素の数に厳しい制限を課す必要がありました。
私が考えることができる他の唯一の解決策は、両方のリストで階乗を実行し、そこで等値を探すことですが、それでもあまり効率的ではなく、リストが大きくなるにつれて指数関数的に長くかかります.