Lhakpa ist Sherpa und arbeitet als Bergführerin und Trägerin. Nach monatelanger sorgfältiger Planung steht die Expedition, für die Lhakpa arbeitet, kurz vor dem Aufbruch. Sie wird für den Wert bezahlt, den sie zum Basislager getragen hat.
Vor ihr liegen viele Gegenstände, jeder mit einem Wert und einem Gewicht. Lhakpa würde am liebsten alle Gegenstände mitnehmen, aber ihr Rucksack kann nur ein begrenztes Gewicht tragen.
Deine Aufgabe ist es, zu bestimmen, welche Gegenstände Lhakpa einpacken soll, sodass der Gesamtwert ihrer Auswahl so groß wie möglich wird und dabei die Tragfähigkeit des Rucksacks berücksichtigt wird.
Die Gegenstände werden als Liste von Gegenständen dargestellt. Jeder Gegenstand hat ein Gewicht und einen Wert. Alle angegebenen Werte sind strikt positiv. Von jedem Gegenstand kann Lhakpa nur einen einpacken.
Zum Beispiel:
Items: [
{ "weight": 5, "value": 10 },
{ "weight": 4, "value": 40 },
{ "weight": 6, "value": 30 },
{ "weight": 4, "value": 50 }
]
Knapsack Maximum Weight: 10
Im obigen Beispiel hat der erste Gegenstand das Gewicht 5 und den Wert 10, der zweite das Gewicht 4 und den Wert 40, und so weiter. In diesem Beispiel sollte Lhakpa den zweiten und den vierten Gegenstand einpacken, um ihren Wert zu maximieren. In diesem Fall sind das 90. Mehr als 90 kann sie nicht erreichen, denn ihr Rucksack hat ein Höchstgewicht von 10.
Die Elemente werden durch das Item-Struct in Item.swift dargestellt.
Melde dich bei Exercism an, um Swift mit 35 Konzepte116 Übungen und echtem menschlichen Mentoring zu lernen und zu meistern, alles kostenlos.