Тема - Дом грабитель
В. Вы - профессиональный грабитель, планирующий ограбить дома на улице. В каждом доме спрятана определенная сумма денег, единственное препятствие, мешающее вам ограбить каждый из них, - это то, что в соседних домах подключена система безопасности, и она автоматически свяжется с полицией, если два соседних дома были взломаны в ту же ночь .
Имея список неотрицательных целых чисел, представляющих сумму денег в каждом доме, определите максимальную сумму денег, которую вы можете ограбить сегодня вечером без предупреждения полиции.
Пример 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
(Спасибо за уделенное время и призываю меня писать больше, хлопая в ладоши.)