【LeetCode】打家劫舍||

打家劫舍||

链接: 打家劫舍||

在做这个题之前,建议大家做一下这个链接: 按摩师

我的博客里也有这个题的讲解,名字是按摩师

题目描述

算法分析

编程代码

cpp 复制代码
class Solution {
public:
    int maxrob(vector<int>nums,int left,int right){
        if(left > right) return 0;
        //int n = nums.size();
        vector<int>f(right+1);
        auto g = f;
        f[left] = nums[left];
        for(int i = left+1;i<=right;++i)
        {
            f[i] = g[i-1] + nums[i];
            g[i] = max(f[i-1],g[i-1]);
        }
        return max(f[right],g[right]);
    }

    int rob(vector<int>& nums) {

        //int n = nums.size();
        return max(nums[0] + maxrob(nums,2,nums.size()-2)
                    ,maxrob(nums,1,nums.size()-1));
    }
};
相关推荐
圣保罗的大教堂19 分钟前
leetcode 1406. 石子游戏 III 困难
leetcode
带多刺的玫瑰9 小时前
Leecode#15刷题之三数之和
算法·leetcode·职场和发展
圣保罗的大教堂9 小时前
leetcode 877. 石子游戏 中等
leetcode
shehuiyuelaiyuehao10 小时前
算法32,连续数组,前缀和+哈希表
算法·leetcode·职场和发展
Navigator_Z13 小时前
LeetCode //C - 1223. Dice Roll Simulation
c语言·算法·leetcode
Tisfy13 小时前
LeetCode 2058.找出临界点之间的最小和最大距离:遍历+遇到极值则更新(这种题谁空间复杂度不是O(1)啊)
linux·数据库·leetcode·链表·题解·模拟·遍历
小欣加油13 小时前
Leetcode2058 找出临界点之间的最小和最大距离
数据结构·c++·算法·leetcode·职场和发展
CoderYanger14 小时前
A.每日一题:3345. 最小可整除数位乘积 I
java·数据结构·程序人生·算法·leetcode·面试·学习方法
玖玥拾15 小时前
LeetCode 1 两数之和
算法·leetcode·职场和发展
旖旎夜光15 小时前
LeetCode 974:和可被 K 整除的子数组(前缀和) —— 题解
数据结构·c++·算法·leetcode·前缀和