213. 打家劫舍 II


Python版本

python 复制代码
class Solution:
    def rob(self, nums: List[int]) -> int:
        n = len(nums)
        if(n == 1):
            return nums[0]
        if(n == 2):
            return max(nums[0],nums[1])
        def robMoney(left:int,right:int)->int:
            f1,f2 = nums[left],max(nums[left],nums[left+1])
            for i in range(left+2,right+1):
                t = f2
                f2 = max(f2,f1+nums[i])
                f1 = t
            return f2
        return max(robMoney(0,n-2),robMoney(1,n-1))

Java版本

java 复制代码
class Solution {
    public int robMoney(int[] nums,int left,int right){
        int t,f1 = nums[left],f2 = Math.max(nums[left],nums[left+1]);
        for(int i = left+2; i <= right; i++){
            t = f2;
            f2 = Math.max(f2,f1+nums[i]);
            f1 = t;
        }
        return f2;
    }
    public int rob(int[] nums) {
        int n = nums.length;
        if(n == 1) return nums[0];
        if(n == 2)return Math.max(nums[0],nums[1]);
        return Math.max(robMoney(nums,0,n-2),robMoney(nums,1,n-1));
    }
}

CPP版本

cpp 复制代码
class Solution {
public:
int robMoney(vector<int>& nums,int left,int right){
    int t,f1 = nums[left],f2 = max(nums[left],nums[left+1]);
    for(int i = left+2; i <= right; i++){
        t = f2;
        f2 = max(f2,f1+nums[i]);
        f1 = t;
    }
    return f2;
}
    int rob(vector<int>& nums) {
        int n = nums.size();
        if(n == 1)return nums[0];
        if(n == 2)return max(nums[0],nums[1]);
        return max(robMoney(nums,0,n-2),robMoney(nums,1,n-1));
    }
};
相关推荐
哎呦没32 分钟前
大学生就业招聘:Spring Boot系统的架构分析
java·spring boot·后端
Kalika0-01 小时前
猴子吃桃-C语言
c语言·开发语言·数据结构·算法
编程、小哥哥1 小时前
netty之Netty与SpringBoot整合
java·spring boot·spring
代码雕刻家1 小时前
课设实验-数据结构-单链表-文教文化用品品牌
c语言·开发语言·数据结构
sp_fyf_20241 小时前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-10-02
人工智能·神经网络·算法·计算机视觉·语言模型·自然语言处理·数据挖掘
IT学长编程2 小时前
计算机毕业设计 玩具租赁系统的设计与实现 Java实战项目 附源码+文档+视频讲解
java·spring boot·毕业设计·课程设计·毕业论文·计算机毕业设计选题·玩具租赁系统
莹雨潇潇2 小时前
Docker 快速入门(Ubuntu版)
java·前端·docker·容器
杨哥带你写代码2 小时前
足球青训俱乐部管理:Spring Boot技术驱动
java·spring boot·后端
小字节,大梦想2 小时前
【C++】二叉搜索树
数据结构·c++
我是哈哈hh3 小时前
专题十_穷举vs暴搜vs深搜vs回溯vs剪枝_二叉树的深度优先搜索_算法专题详细总结
服务器·数据结构·c++·算法·机器学习·深度优先·剪枝