zoukankan      html  css  js  c++  java
  • #Leetcode# 198. House Robber

    https://leetcode.com/problems/house-robber/

    You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed, the only constraint stopping you from robbing each of them is that adjacent houses have security system connected and it will automatically contact the police if two adjacent houses were broken into on the same night.

    Given a list of non-negative integers representing the amount of money of each house, determine the maximum amount of money you can rob tonight without alerting the police.

    Example 1:

    Input: [1,2,3,1]
    Output: 4
    Explanation: Rob house 1 (money = 1) and then rob house 3 (money = 3).
                 Total amount you can rob = 1 + 3 = 4.

    Example 2:

    Input: [2,7,9,3,1]
    Output: 12
    Explanation: Rob house 1 (money = 2), rob house 3 (money = 9) and rob house 5 (money = 1).
                 Total amount you can rob = 2 + 9 + 1 = 12.

    代码:

    class Solution {
    public:
        int rob(vector<int>& nums) {
            if(nums.empty()) return 0;
            int n = nums.size();
            int dp[10100];
            dp[0] = nums[0], dp[1] = nums[1], dp[2] = nums[0] + nums[2];
            for(int i = 3; i < n; i ++)
                dp[i] = max(dp[i - 2], dp[i - 3]) + nums[i];
            
            sort(dp, dp + n);
            return dp[n - 1];
        }
    };
    

      简单 $dp$  先去补作业啦 唉 多想每天不用上课只撸题就好了

  • 相关阅读:
    Doubles
    The 3n + 1 problem
    Counterfeit Dollar
    Maya Calendar
    08_python的列表、元祖、字符串、字典及公共方法
    07_python的函数
    06_python的while语句
    05_python的if语句
    04_python基本的输入输出函数
    03_python的数据类型和变量的定义及使用
  • 原文地址:https://www.cnblogs.com/zlrrrr/p/10030428.html
Copyright © 2011-2022 走看看