Sie haben einen Haufen schwerer Kisten und möchten diese in möglichst wenigen Stapeln stapeln. Das Problem ist, dass Sie nicht mehr Kisten auf einer Kiste stapeln können, als es unterstützen kann.
Die Herausforderung
Eingabe : Eine Liste der Kistengewichte in ganzen kg.
Ausgabe : Eine Liste von Listen, die die Stapel von Boxen beschreiben. Dies muss die geringstmögliche Anzahl von Stapeln für die Eingabe verwenden. Um ein gültiger Stapel zu sein, muss das Gewicht jeder Kiste im Stapel größer oder gleich der Summe des Gewichts aller darüber liegenden Kisten sein.
Beispiele für gültige Stapel
(In der Reihenfolge von unten nach oben)
- [3]
- [1, 1]
- [3, 2, 1]
- [4, 2, 1, 1]
- [27, 17, 6, 3, 1]
- [33, 32, 1]
- [999, 888, 99, 11, 1]
Beispiele für ungültige Stapel
(In der Reihenfolge von unten nach oben)
- [1, 2]
- [3, 3, 3]
- [5, 5, 1]
- [999, 888, 777]
- [4, 3, 2]
- [4321, 3000, 1234, 321]
Beispiel Testfälle
1
IN: [1, 2, 3, 4, 5, 6, 9, 12]
OUT: [[12, 6, 3, 2, 1], [9, 5, 4]]
2
IN: [87, 432, 9999, 1234, 3030]
OUT: [[9999, 3030, 1234, 432, 87]]
3
IN: [1, 5, 3, 1, 4, 2, 1, 6, 1, 7, 2, 3]
OUT: [[6, 3, 2, 1], [7, 4, 2, 1], [5, 3, 1, 1]]
4
IN: [8, 5, 8, 8, 1, 2]
OUT: [[8, 8], [8, 5, 2, 1]]
Regeln und Annahmen
- Es gelten Standard-E / A-Regeln und verbotene Regelungslücken
- Verwenden Sie ein beliebiges praktisches Format für die E / A
- Stapel können von oben nach unten oder von unten nach oben beschrieben werden, solange Sie konsistent sind.
- Die Reihenfolge der Stapel (anstatt der Kästchen in diesen Stapeln) spielt keine Rolle.
- Sie können Eingabefelder auch als vorsortierte Liste verwenden. Die Reihenfolge ist für die Eingabe nicht besonders wichtig, solange das allgemeine Problem nicht durch die Sortierung selbst gelöst wird.
- Wenn es mehr als eine optimale Stapelkonfiguration gibt, können Sie einen beliebigen Stapel ausgeben
- Sie können davon ausgehen, dass es mindestens eine Kiste gibt und alle Kisten mindestens 1 kg wiegen
- Sie müssen mindestens ein Gewicht von 9.999 kg tragen.
- Sie müssen mindestens 9.999 Boxen unterstützen.
- Boxen mit dem gleichen Gewicht sind nicht zu unterscheiden, sodass nicht angegeben werden muss, welche Box wo verwendet wurde.
Viel Spaß beim Golfen! Viel Glück!
[8, 8, 8, 5, 1]
->[[8, 8], [8, 5, 1]]
[8, 5, 8, 8, 1, 2]
->[[8, 8], [8, 5, 2, 1]]