この質問はPythonで実装されていますが、PHPコードに書き直したいのですが、要素の繰り返しの組み合わせに行き詰まっています。アイデアをください〜
。つまり、N 個の要素がある場合、A
+B
等于100,而求的是满足结果不超过120
的最大组合,正好A
+C
+D
は 191 に等しい可能性があります。
この質問はPythonで実装されていますが、PHPコードに書き直したいのですが、要素の繰り返しのない組み合わせで困っています。アイデアをください〜
つまり、N 個の要素がある場合、A
+B
等于100,而求的是满足结果不超过120
的最大组合,正好A
+C
+D
は 191 に等しい可能性があります。
あなたの質問はアルゴリズムに関するものですよね? リーリー
このように直接網羅的に列挙するのは絶対に適していません。これはバックパックの問題と見なす必要があります。
ナップザック問題は、組み合わせ最適化の NP 完全問題です。この問題は、次のように説明できます。アイテムのセットが与えられ、各アイテムには独自の重量と価格があり、制限された合計重量の範囲内で、アイテムの合計価格が最高になるように選択するにはどうすればよいですか。この問題の名前は、特定のバックパックに入れるのに最も適切なアイテムを選択する方法に由来しています。https://zh.wikipedia.org/wiki...
PHPでitertoolsの機能が必要な場合は、これを読んでください
https://github.com/alts/iter.php