Домушник

Сложная
25%
Python 3.12JavaScriptGo 1.17.13Java 21C#C++

Вы профессиональный грабитель, планирующий ограбить дома на улице. В каждом доме хранится определённое количество денег. Единственное ограничение, которое мешает ограбить каждый из них, заключается в том, что соседние дома оснащены системой безопасности, которая автоматически вызовет полицию, если два соседних дома будут ограблены в одну ночь.

Дан целочисленный массив nums, представляющий количество денег в каждом доме. Верните максимальное количество денег, которое вы можете ограбить этой ночью, не привлекая внимания полиции.

Пример 1:

Ввод: nums = [1,2,3,1]

Вывод: 4

Объяснение: Ограбьте дом 1 (деньги = 1), а затем дом 3 (деньги = 3).

Общая сумма, которую вы можете ограбить = 1 + 3 = 4.

Пример 2:

Ввод: nums = [2,7,9,3,1]

Вывод: 12

Объяснение: Ограбьте дом 1 (деньги = 2), дом 3 (деньги = 9) и дом 5 (деньги = 1).

Общая сумма, которую вы можете ограбить = 2 + 9 + 1 = 12.

Ограничения:

1 <= nums.length <= 100

0 <= nums[i] <= 400