LintCode 打劫房屋

2021-07-22 14:45:01 字數 557 閱讀 1304

描述

假設你是乙個專業的竊賊,準備沿著一條街打劫房屋。每個房子都存放著特定金額的錢。你面臨的唯一約束條件是:相鄰的房子裝著相互聯絡的防盜系統,且 當相鄰的兩個房子同一天被打劫時,該系統會自動報警。

給定乙個非負整數列表,表示每個房子中存放的錢, 算一算,如果今晚去打劫,你最多可以得到多少錢 在不觸動報警裝置的情況下。 樣例

給定[3, 8, 4], 返回8.

思路:乙個動態規劃問題,前n個房子所獲得的最大金額可表示為取(前n-1個房子所獲得

的最大金額)與(前n-2個房子所獲得的最大金額加上第n個房子所獲得的金額之

和)之間較大的那個。

狀態方程:f[n]=max(f[n-1],f[n-2]+money[n]);

n表示第n個房子,n-1表示上乙個房子,n-2表示上上乙個房子。

f[n]表示打劫前n個房子所獲得的最大金額。**

public class solution 

return res[len-1];

}}

lintcode 打劫房屋

假設你是乙個專業的竊賊,準備沿著一條街打劫房屋。每個房子都存放著特定金額的錢。你面臨的唯一約束條件是 相鄰的房子裝著相互聯絡的防盜系統,且 當相鄰的兩個房子同一天被打劫時,該系統會自動報警。給定乙個非負整數列表,表示每個房子中存放的錢,算一算,如果今晚去打劫,你最多可以得到多少錢 在不觸動報警裝置的...

lintcode打劫房屋

原題位址 題目 假設你是乙個專業的竊賊,準備沿著一條街打劫房屋。每個房子都存放著特定金額的錢。你面臨的唯一約束條件是 相鄰的房子裝著相互聯絡的防盜系統,且 當相鄰的兩個房子同一天被打劫時,該系統會自動報警。給定乙個非負整數列表,表示每個房子中存放的錢,算一算,如果今晚去打劫,你最多可以得到多少錢 在...

LintCode 打劫房屋

假設你是乙個專業的竊賊,準備沿著一條街打劫房屋。每個房子都存放著特定金額的錢。你面臨的唯一約束條件是 相鄰的房子裝著相互聯絡的防盜系統,且 當相鄰的兩個房子同一天被打劫時,該系統會自動報警。給定乙個非負整數列表,表示每個房子中存放的錢,算一算,如果今晚去打劫,你最多可以得到多少錢 在不觸動報警裝置的...