Du bist ein professioneller Räuber, der Häuser entlang einer Straße ausrauben will. In jedem Haus ist ein bestimmter Betrag an Geld versteckt. Die einzige Einschränkung, die Sie davon abhält, jedes einzelne davon auszurauben, besteht darin, dass benachbarte Häuser über angeschlossene Sicherheitssysteme verfügen und automatisch die Polizei verständigt wird, wenn in derselben Nacht in zwei benachbarte Häuser eingebrochen wird.
Anhand eines ganzzahligen Arrays, das den Geldbetrag jedes Hauses darstellt, geben Sie den maximalen Geldbetrag zurück, den Sie heute Nacht ausrauben können, ohne die Polizei zu alarmieren.
Beispiel 1:
Eingabe: nums = [1,2,3,1]
Ausgabe: 4
Erklärung: Haus 1 ausrauben (Geld = 1) und dann Haus 3 ausrauben (Geld = 3).
Gesamtbetrag, den Sie rauben können = 1 + 3 = 4,
Beispiel 2:
Eingabe: nums = [2,7,9,3,1]
Ausgabe: 12
Erklärung: Haus 1 ausrauben (Geld = 2), Haus 3 ausrauben (Geld = 9) und Haus 5 ausrauben (Geld = 1).
Gesamtbetrag, den Sie rauben können = 2 + 9 + 1 = 12,
Einschränkungen:
1 <= nums.length <= 100
0 <= nums[i] <= 400
Originalseite
public int rob(int[] nums) { int[] dp = new int[nums.length+1]; dp[1] = nums[0]; for(int i=2; i Nach dem Login kopieren
Das obige ist der detaillierte Inhalt vonLeetCode DayDynamische Programmierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!