1

整数の配列があるとしましょう:

int array = {5, 7, 4, 4, 2}
int x=10

出力は次のようになります。

10 //(4,4,2)

この出力を達成するための最速の方法は何ですか?

4

2 に答える 2

2

サブセット合計問題を扱っています (連続したサブ配列が必要ないと仮定します)。

問題はNP-Completeであり、それに対する既知の多項式解はありません (そして、一般的な仮定は、存在しないということですが、まだ証明されていません) 。

ただし、動的計画法を使用した疑似多項式ソリューションがあります。

于 2012-11-03T12:57:25.703 に答える
1

あなたが求めている問題は、

0-1 Knapsack problem

ここで、利益は重量と同じです。

あなたはそれをグーグルしてアルゴリズムを簡単に理解することができます。これはおそらく最速の方法です。

于 2012-11-03T12:48:21.903 に答える