Тема - Дом грабитель

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

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

Пример 1:

Input: nums = [1,2,3,1]
Output: 4
Explanation: Rob house 1 (money = 1) and then rob house 3 (money = 3).
             Total amount you can rob = 1 + 3 = 4.

Пример 2:

Input: nums = [2,7,9,3,1]
Output: 12
Explanation: Rob house 1 (money = 2), rob house 3 (money = 9) and rob house 5 (money = 1).
             Total amount you can rob = 2 + 9 + 1 = 12.

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

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 400

Логика:

  • Захватить первый элемент массива в переменной
  • Начните итерацию со второго элемента массива, поскольку мы уже захватили первый элемент
  • Захватить максимум между предыдущим элементом и последующим элементом в отдельной переменной
  • Затем замените предыдущее значение на следующее максимальное значение и перейдите до конца цикла.
  • Вернуть максимум из двух вышеупомянутых переменных подкачки
  • Вот и все

Код:

Удачного кодирования !!!

Вот ссылка на leetcode:
https://leetcode.com/explore/challenge/card/september-leetcoding-challenge/555/week-2-september-8th-september-14th/3459/

Пожалуйста, не стесняйтесь комментировать, если у вас есть какие-либо проблемы или сомнения.

Спасибо !!!
Никогда не соглашайтесь и всегда спешите !!!

- Gareeb CODER

(Спасибо за уделенное время и призываю меня писать больше, хлопая в ладоши.)