題目連結:
題目意譯:
你是一個專業的小偷,目前計劃著要在一條街上沿途闖空門。每間房子存有一定數量的錢,唯一限制你把所有房子搜刮殆盡的是相鄰房子有安全系統連接在一起,而且如果兩個相鄰房子在同一晚都遭闖入時會自動通知警察。
給定一個非負整數的數列 nums,代表著每間房子含有的錢。判斷在不驚動警察的狀況下,你今晚可以獲得的最大金額為何。
限制:
0 ≦ nums.length ≦ 100
0 ≦ nums[i] ≦ 400
範例測資:
範例 1:
輸入: nums = [1,2,3,1]
輸出: 4
解釋: 搶 1 號房子(金額 = 1),然後搶 3 號房子(金額 = 3)。
總共金額 = 1 + 3 = 4。
範例 2:
輸入: nums = [2,7,9,3,1]
輸出: 12
解釋: 搶 1 號房子(金額 = 2)、搶 3 號房子(金額 = 9),然後搶 5 號房子(金額 = 1)。
總共金額 = 2 + 9 + 1 = 12。
解題思維:
本題可以參見
這題中後段的作法,該題(e721)即是轉成本題的形式而解出的。
此次分享到此為止,如有任何更加簡潔的想法或是有說明不清楚之地方,也煩請各位大大撥冗討論。