LintCode 打劫房屋

2021-07-25 05:09:33 字數 786 閱讀 8212

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

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

您在真實的面試中是否遇到過這個題?

yes

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

挑戰 o(n) 時間複雜度 且 o(1) 儲存。

class solution {

public:

/*** @param a: an array of non-negative integers.

* return: the maximum amount of money you can rob tonight

*/long long houserobber(vectora) {

// write your code here

int n = a.size();

if(n == 0)

return 0;

if(n == 1)

return a[0];

if(n == 2)

return max(a[0],a[1]);

else

{long long p ,pp, now;

pp = a[0];

p =  max(a[0],a[1]);

for(int i=2; i

lintcode 打劫房屋

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

LintCode 打劫房屋

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

lintcode打劫房屋

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