程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> [LeetCode] 198. House Robber,leetcoderobber

[LeetCode] 198. House Robber,leetcoderobber

編輯:C++入門知識

[LeetCode] 198. House Robber,leetcoderobber


思路:DP,dp[i]表示到第i個房子的最大值。

 1 class Solution {
 2 public:
 3     int rob(vector<int>& nums) {
 4         int len = nums.size();
 5         if (len == 0)
 6             return 0;
 7         if (len == 1)
 8             return nums[0];
 9         vector<int> dp(len, 0);
10         dp[0] = nums[0];
11         dp[1] = max(nums[0], nums[1]);
12         for (int i = 2; i < len; i++)
13             dp[i] = max(nums[i] + dp[i-2], dp[i-1]);
14         return dp[len-1];
15     }
16 };

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved