每天一道leetcode 打家劫舍(動態規劃)

2022-05-23 01:39:11 字數 944 閱讀 6686

198. 打家劫舍

難度簡單839收藏分享切換為英文關注反饋

你是乙個專業的小偷,計畫偷竊沿街的房屋。每間房內都藏有一定的現金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統,如果兩間相鄰的房屋在同一晚上被小偷闖入,系統會自動報警

給定乙個代表每個房屋存放金額的非負整數陣列,計算你不觸動警報裝置的情況下,一夜之內能夠偷竊到的最高金額。

示例 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 。

答:

int rob(int* nums, int numssize)

int dqmax[numssize];

dqmax[0]=nums[0];

if(nums[0]>nums[1])

else

for(int i=2;idqmax[i-1])

else

}return dqmax[numssize-1];

}

解析:

建了乙個dqmax,位於當前房子的時候可盜取的最大金額,簡單來說,就是前面都是最好的的,現在也是最好的,那就一直是最好的

每天一道題 LeetCode

本人是研二程旭猿一枚,還有半年多就要找工作了,想想上一年度面試阿里的演算法工程師掛了,心有不甘啊,主要還是準備不足,對一些常見的演算法問題沒有去組織準備,為了明年找乙份好的實習,就從現在開始,好好準備吧,每天刷一道題。leetcode,oj系統,不用多說,國外的,題目也非常好,只有精選的152道,不...

每天一道Linux命令

no.1 以下的命令得在 自動執行 06 03 3 lp usr local message mail s server message root a.每週三06 03分 b.每週六03 03分 c.每週三03 06分 d.每週六03 06分 no.2 下列關於管道 pipe 通訊的敘述中,正確的是...

每天一道演算法題

no.1 棧是特殊的線性表,它。a.對 b.錯答案 錯,它的插入和刪除都是在同一端進行的。no.2 n個葉子節點的滿二叉樹 除了葉子節點,每個節點都有兩個孩子 總共有多少個節點?a.2n 1 b.2n c.n 1 d.n答案 a 滿二叉樹我們講過了,度為0的節點比度為2的加點多乙個。滿二叉樹是特殊的...