[LeetCode] House Robber
Since we are not allowed to rob two adjacent houses, we keep two variables pre
and cur
. During the i
-th loop, pre
records the maximum profit that we do not rob the i - 1
-th house and thus the current house (the i
-th house) can be robbed while cur
records the profit that we have robbed the i - 1
-th house.
The code is as follows.
1 class Solution { 2 public: 3 int rob(vector<int>& nums) { 4 int n = nums.size(), pre = 0, cur = 0; 5 for (int i = 0; i < n; i++) { 6 int temp = max(pre + nums[i], cur); 7 pre = cur; 8 cur = temp; 9 } 10 return cur; 11 } 12 };
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步