Gegeben eine unsortierte Menge von ganzen Zahlen in der Form eines Arrays, finde die minimale Subsetsumme größer als oder gleich einer const Integer x
.Gegeben eine Liste von n ganzen Zahlen, finde die minimale Subsetsumme größer als X
zB: - Unser Set ist {4 5 8 10 10}
und x=15
so die minimale Teilmenge Summe am nächsten x
und >=x is {5 10}
ich nur einen naiven Algorithmus denken kann, die alle Untergruppen von Satz listet und überprüft, ob Summe der Teilmenge >=x
und Minimum oder nicht, aber es ist ein exponentieller Algorithmus und Auflistung aller Teilmengen erfordert O (2^N). Kann ich dynamische Programmierung verwenden, um sie in polynomieller Zeit zu lösen?
Unter einer minimalen Teilmenge verstehen wir eine Teilmenge, deren Summe am nächsten bei 'x' oder einer Teilmenge'> = x' liegt, aber mit der minimalen Anzahl von Elementen? – biziclop
@biziclop Ich meine Teilmenge Summe am nächsten zu x und> = x – bean
Wenn Sie dieses Problem lösen können, haben Sie auch eine Lösung für die Teilmenge Summe Problem. Daher ist dieses Problem NP-schwer. –