美文网首页算法代码
数组中不相邻求最大值

数组中不相邻求最大值

作者: windUtterance | 来源:发表于2020-08-23 22:07 被阅读0次

题目描述
你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。
给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。

示例
输入:[2,7,9,3,1]
输出:12
解释:偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9),接着偷窃 5 号房屋 (金额 = 1)。
偷窃到的最高金额 = 2 + 9 + 1 = 12 。

Java代码

class Solution {
    public int rob(int[] nums) {
        if(nums.length == 0) return 0;
        int length = nums.length;
        int[] dp = new int[length + 1];
        dp[0] = 0;
        dp[1] = nums[0];
        for(int k = 2;k <= length;k++) {
            dp[k] = Math.max(dp[k - 1],nums[k - 1] + dp[k - 2]);
        }
        return dp[length];
    }
}

相关文章

  • 数组中不相邻求最大值

    题目描述:你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋...

  • Leetcode-164-Maximum Gap

    给定一个未排序的数组,求排序后数组中相邻元素之差的最大值。 这题最大的思维盲点就在于的复杂度让人直接放弃包含排序的...

  • JS求最大值和数组去重

    一、求最大值: 二、数组去重:

  • 暑假复习5

    1求总分 最高分 最低分 2求数组中的最大值 3去除数组中的重复项

  • jsday02

    数组 数组求最大值 数组求最小值 数组拼接成字符串 反转数组 冒泡排序 阻止链接跳转 数组的一些方法

  • 求先递增后递减数组最大值的下标

    求先递增后递减数组最大值的下标 给定数组 a, 里面的元素先严格递增后严格递减, 求最大值元素的下标. 满足时间复...

  • 1-1 算法 - 最大连续子数组和

    一、 问题描述   给出一个一维数组,数组中的数有正有负,求该数组中连续元素之和最大值 二、暴力法 2.1 解题思...

  • function

    求任意数组的最大值 求任意数组的最小值 //求任意范围数字和 求任意数字的总和 // type 检测参数数据类型...

  • ios 数组排序一些基础方法

    数组翻转 数组升序 数组降序 获取数组对象和,平均数,最大值,最小值 冒泡排序 原理:比较两个相邻的元素,将值大的...

  • matlab里面的max和min

    求数组最大值 输出: 求矩阵最大值 输出: 输出: 输出: 对 min 来说是一样的

网友评论

    本文标题:数组中不相邻求最大值

    本文链接:https://www.haomeiwen.com/subject/dcnodktx.html