Heim  >  Artikel  >  Backend-Entwicklung  >  So berechnen Sie die kombinierte Summe mithilfe des Backtracking-Algorithmus in PHP

So berechnen Sie die kombinierte Summe mithilfe des Backtracking-Algorithmus in PHP

醉折花枝作酒筹
醉折花枝作酒筹Original
2021-07-13 15:16:591940Durchsuche

Finden Sie anhand einer Reihe von Kandidaten und einer Zielzahl alle Kombinationen in Kandidaten, die die Summe der Zahlen als Ziel ergeben können. Was sollen wir zu diesem Zeitpunkt tun? Heute werde ich Sie durch die Sache führen.

So berechnen Sie die kombinierte Summe mithilfe des Backtracking-Algorithmus in PHP

Anhand eines Arrays von Kandidaten und einer Zielzahl target finden Sie alle Kombinationen in Kandidaten, die die Summe der Zielzahlen ergeben können. Jede Zahl in

kandidaten kann in jeder Kombination nur einmal verwendet werden.

Hinweis:

Alle Zahlen (einschließlich der Zielzahl) sind positive ganze Zahlen. Der Lösungssatz darf keine doppelten Kombinationen enthalten. ??

Extra:

Finden Sie anhand einer Reihe von Kandidaten ohne doppelte Elemente und einer Zielzahl alle Kombinationen in Kandidaten, die die Summe der Zahlen als Ziel ergeben können.

Die Zahlen in Kandidaten können unbegrenzt wiederholt ausgewählt werden.

Der Unterschied besteht darin, dass wiederholte Auswahlen zulässig sind. Dies wird durch zwei Änderungen basierend auf der vorherigen Frage gelöst.

输入: candidates = [10,1,2,7,6,1,5], target = 8,
所求解集为:[
 [1, 7],
 [1, 2, 5],
 [2, 6],
 [1, 1, 6]]

Extra:

Finde alle k Zahlenkombinationen, deren Summe n ist. In der Kombination sind nur positive ganze Zahlen von 1 bis 9 zulässig, und in jeder Kombination gibt es keine doppelten Zahlen.

Begrenzen Sie die Anzahl der Elemente im ausgewählten Schema

输入: candidates = [2,5,2,1,2], target = 5,
所求解集为:[  
[1,2,2],  
[5]]
Empfohlenes Lernen:

php-Video-Tutorial

Das obige ist der detaillierte Inhalt vonSo berechnen Sie die kombinierte Summe mithilfe des Backtracking-Algorithmus in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn