Verwenden Sie dp[i], um die optimale Gesamtzahl von Minuten aufzuzeichnen, wenn die Länge i+1 ist, zum Beispiel: dp[0] ist die optimale Lösung, wenn die Länge 1 ist.
Initialisieren Sie dp, wenn i = 0, ist es das erste Element des Arrays, nämlich nums[0]; wenn i = 1, wählen Sie das größte der ersten beiden Elemente aus, nämlich Math.max(nums[0],nums [1 ]).
Nach i = 2 hat dp[i] zwei Fälle, je nachdem, ob das aktuelle Element nums[i] ausgewählt ist. Wenn Sie nums[i] wählen, können Sie nums[i-1] nicht wählen. Zu diesem Zeitpunkt ist die optimale Lösung: dp[i] = dp[i - 2] + nums[i]; wenn Sie nums nicht wählen [i], dann können Sie nums[i -1] wählen, was die optimale Lösung dp[i-1] ist, wenn i - 1. Wählen Sie den größten dieser beiden Werte als dp[i].
Schließlich geben Sie einfach den dp-Wert des Index n - 1 zurück.