Gegeben seien zwei Arrays A
und B
mit jeweils n
nicht-negative Zahlen, entfernen a>0
Elemente aus dem Ende von A und b>0
Elemente aus dem Ende des B. Berechnen Sie die Kosten für einen solchen Vorgang wie X
ist die Summe der a
Elemente aus A
und Y
die Summe der b
Elemente aus B
entfernt entfernt. Machen Sie dies solange, bis beide Arrays leer sind. Ziel ist es, die Gesamtkosten zu minimieren.2 angegebenen Arrays von nicht-negativen Zahlen, finden die minimale Summe von Produkten
Mit dynamischer Programmierung und der Tatsache, dass eine optimale Strategie immer genau ein Element von A
oder B
benötigt, kann ich eine O (n^3) -Lösung finden. Jetzt bin ich neugierig zu wissen, ob es eine noch schnellere Lösung für dieses Problem gibt?
EDIT: ein Beispiel aus den Kommentaren in @recursive Stealing:
A = [1,9,1] und B = [1, 9, 1]. Mögliche mit Kosten von 20. (1) * (1 + 9) + (9 + 1) * (1)
Nach meiner Meinung sollte die Lösung die letzten zwei Elemente jedes Array summieren sie add ad dann hinzufügen. Auf). –
Wenn ich falsch liege dann bitte klären Sie die Problemstellung zu mir –
Nach Ihrer Aussage müssen wir vom Ende von A und dem Ende von B entfernen –