動態規劃(dp)要多做題,字串上的dp和樹形dp都比較難,但是不常考,最常考的還是陣列上的dp題目。
寫dp題目時最關鍵的還是要想到用dp這種方法。動態規劃題目一般暴力列舉都可以解決,但是暴力時間複雜度一般都比較大,那麼就要想到貪心和動態規劃。
leetcode198 打家劫舍
題目描述:
你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。
給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。
示例 1:
輸入: [1,2,3,1]
輸出: 4
解釋: 偷竊 1 號房屋 (金額 = 1) ,然後偷竊 3 號房屋 (金額 = 3)。
偷竊到的最高金額 = 1 + 3 = 4 。
示例 2:
輸入: [2,7,9,3,1]
輸出: 12
解釋: 偷竊 1 號房屋 (金額 = 2), 偷竊 3 號房屋 (金額 = 9),接著偷竊 5 號房屋 (金額 = 1)。
偷竊到的最高金額 = 2 + 9 + 1 = 12 。
分析:
動態規劃 leetcode198
coding utf 8 遞迴class solution1 object def rob self,nums typenums list int rtype int return self.tryrob nums,0 考慮搶劫nums index,len nums 1 這個範圍的所有房子 不一定非...
leetcode 198強盜搶劫(動態規劃)
題目 你是乙個專業的強盜,計畫在街上搶劫房屋。每個房子都藏著一定數量的錢,阻止你搶劫他們的唯一限制因素是相鄰的房屋有連線的安全系統,如果兩個相鄰的房子在同乙個晚上被闖入,它將自動聯絡 給出乙個代表每個房子的金額的非負整數列表,確定今晚可以搶劫的最大金額而不警告警察。input 2,7,9,3,1 o...
leetcode198 打家劫舍,動態規劃
題目 你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警。給定乙個代表每個房屋存放金額的非負整數陣列,計算你在不觸動警報裝置的情況下,能夠偷竊到的最高金額。示例 示例 ...