Ich habe ein Array mit ganzen Zahlen (sortiert oder unsortiert, je nachdem, was einfacher sein wird, aber hier werde ich es sortiert) ausgefüllt:Kleinste zwei Summen von ganzen Zahlen in einem Array
10,20,20,30,40
Was ich versuche, zu tun ist, zwei kleinste Summen dieser Zahlen zu bekommen. In diesem Fall sollte es 60
sein, denn:
10+20+30 = 60
und 20+40 = 60
. Was ich versucht habe, ist, wenn ich Array sortiert habe, spalte Zahlen, die erste geht links, zweite rechts, links, rechts ... Aber ich bekomme nicht die kleinste Summe. In diesem Fall würde ich mit meinem Algorithmus folgende Summe erhalten:
10+20+40 = 70
und 20+30 = 50
was nicht sehr effektiv ist.
Nur damit Sie wissen, ich arbeite an einem Zeitmanagement-Algorithmus, also möchte ich die bestmöglichen Zeiten erreichen.
nachschlagen "Rucksack Problem" oder "Rucksack Problem". –
Warum nicht 10 + 20 = 30 als kleinste Summe? – rossum
@ Jean-FrançoisFabre danke Mann, es funktioniert! Und '10 + 20 = 30 'ist die kleinste Summe, aber der Rest gibt eine größere Summe, was wir nicht wollen. Beispiel, du und dein Freund liefern Pizza und du willst so schnell wie möglich zu Mittag essen. Würden Sie ihm nur "30" geben und Sie nehmen den Rest, in diesem Fall "90"? – redesert17