Nicht sicher folgendes Szenario gehört zu Knapsack Problem oder Coin Change Approach. Möchte eine Lösung dieses Problems in PHP Sprache suchen. Erfordern einfache Lösung, weil einige Algorithmen (Texttheorie) aus dem Internet nicht verstehen.PHP - Finde minimalen Wert in einem Array und kombiniere alle möglichen Zahlen, um eine bestimmte Summe zu erreichen
Bei einer Tabelle (A), wie folgend:
TABLE (A)
---------
Item | Name | Price ($)
-------- ------------ --------------
1 | Adidas | 35
2 | Nike Run | 70
3 | Puma | 100
4 | Nike | 85
5 | NB | 65
- alle 3 Elemente in der Tabelle (A) Kombinieren, summieren mehr als oder gleich 200 $.
- Zuerst sortieren Sie die Tabelle (A).
- Zweitens, erhalten Sie die minimale/kleinste Menge (Preis). In diesem Fall ist $ 35.
- Drittens, überprüfen Sie eins nach dem anderen von den anderen Betrag.
- Viertens, summieren Sie 3 Kombinationsmöglichkeiten, die mehr als oder gleich $ 200 sind.
Ergebnis:
Item | Name | Price ($)
-------- ------------ --------------
1 | Adidas | 35
5 | NB | 65
3 | Puma | 100
weitere Probe Tabelle (B), wie folgend:
TABLE (B)
---------
Item | Name | Price ($)
-------- ------------ --------------
1 | Adidas | 5
2 | Nike Run | 35
3 | Puma | 110
4 | Nike | 65
5 | NB | 15
- in der Tabelle alle 3 Einzelteile kombinieren (B), sum mehr als oder gleich $ 200.
- Zuerst sortieren Sie die Tabelle (B).
- Zweitens, erhalten Sie die minimale/kleinste Menge (Preis). In diesem Fall ist $ 5.
- Drittens, überprüfen Sie eins nach dem anderen von den anderen Betrag.
- Viertens, summieren Sie 3 Kombinationsmöglichkeiten, die mehr als oder gleich $ 200 sind.
- Fünftens, wenn die kleinsten mit anderen kombinieren und insgesamt $ 200 summieren, erhalten Sie die zweitkleinste und wiederholen Sie den ersten bis vierten Schritt.
- Sechstens, der beste minimale/kleinste Wert ist $ 35 in diesem Fall.
Ergebnis:
Item | Name | Price ($)
-------- ------------ --------------
2 | Nike Run | 35
4 | Nike | 65
3 | Puma | 110
Danke für die Lösung, ich habe die Frage aktualisiert und kann hoffentlich klarer sein. Ich muss den kleinsten Wert überprüfen und beginnen, 3 mögliche Werte zusammenzufassen, um das gegebene Ergebnis zu erreichen. –