Re: [閒聊] 每日LeetCode

作者: Rushia (みけねこ的鼻屎)   2024-01-21 15:17:54
https://leetcode.com/problems/house-robber/description
198. House Robber
給你一個陣列 nums,nums[i] 表示第 i 家有多少錢,小偷要從這些家偷錢,如果他偷了
第 i 家,他就不能偷相鄰的家,求出怎麼偷可以偷到最多錢。
思路:
1.拿或不拿的問題基本上就是動態規劃,分成拿當前或不拿,取大的,
若 f(i) 表示到第 i 個位置可以偷到的最大金錢,狀態轉移方程:
f(i) = MAX(f(i - 1), f(i - 2) + nums[i])
2.因為只需要前兩個狀態所以可以把dp陣列壓一壓,空間複雜度O(1)。
Java Code:
作者: ILoveErr (英梨梨我老婆)   2024-01-21 15:21:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com