国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

leetcode 打家劫舍(dp)

這篇具有很好參考價(jià)值的文章主要介紹了leetcode 打家劫舍(dp)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

你是一個(gè)專業(yè)的小偷,計(jì)劃偷竊沿街的房屋。每間房?jī)?nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng),如果兩間相鄰的房屋在同一晚上被小偷闖入,系統(tǒng)會(huì)自動(dòng)報(bào)警。

給定一個(gè)代表每個(gè)房屋存放金額的非負(fù)整數(shù)數(shù)組,計(jì)算你 不觸動(dòng)警報(bào)裝置的情況下 ,一夜之內(nèi)能夠偷竊到的最高金額。

示例 1:

輸入:[1,2,3,1]
輸出:4
解釋:偷竊 1 號(hào)房屋 (金額 = 1) ,然后偷竊 3 號(hào)房屋 (金額 = 3)。
?? ? 偷竊到的最高金額 = 1 + 3 = 4 。
示例 2:

輸入:[2,7,9,3,1]
輸出:12
解釋:偷竊 1 號(hào)房屋 (金額 = 2), 偷竊 3 號(hào)房屋 (金額 = 9),接著偷竊 5 號(hào)房屋 (金額 = 1)。
?? ? 偷竊到的最高金額 = 2 + 9 + 1 = 12 。

提示:

1 <= nums.length <= 100
0 <= nums[i] <= 400

正常動(dòng)態(tài)規(guī)劃做法,開一個(gè)一維的dp數(shù)組

class Solution {
public:
    int rob(vector<int>& nums) {
        int len=nums.size();
        vector<int> dp(len+1);
        if(len==1)
        return nums[0];
        dp[0]=nums[0];
        dp[1]=max(nums[0],nums[1]);
        for(int i=2;i<len;i++)
        {
            dp[i]=max(dp[i-2]+nums[i],dp[i-1]);
        }
        return dp[len-1];
    }
};

省空間做法??紤]到來到當(dāng)前的一個(gè)房屋所能偷到的最大金額只與前兩個(gè)房間有關(guān),所以我們可以直接采取創(chuàng)建兩個(gè)變量來保存前兩個(gè)房間的信息,不斷更新即可。文章來源地址http://www.zghlxwxcb.cn/news/detail-480374.html

class Solution {
public:
    int rob(vector<int>& nums) {
        int len=nums.size();
        if(len==1)
        return nums[0];
        int first=nums[0];
        int second=max(nums[0],nums[1]);
        for(int i=2;i<len;i++){
            int temp=second;
            second=max(nums[i]+first,second);
            first=temp;
        }
        return second;
    }
};

到了這里,關(guān)于leetcode 打家劫舍(dp)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 力扣hot100 打家劫舍 DP 滾動(dòng)數(shù)組

    力扣hot100 打家劫舍 DP 滾動(dòng)數(shù)組

    Problem: 198. 打家劫舍 ????? 參考地址 時(shí)間復(fù)雜度: O ( n ) O(n) O ( n ) 空間復(fù)雜度: O ( n ) O(n) O ( n ) 空間復(fù)雜度: O ( 1 ) O(1) O ( 1 )

    2024年01月19日
    瀏覽(19)
  • 【動(dòng)態(tài)規(guī)劃】簡(jiǎn)單多狀態(tài)dp問題(1)打家劫舍問題

    【動(dòng)態(tài)規(guī)劃】簡(jiǎn)單多狀態(tài)dp問題(1)打家劫舍問題

    打家劫舍問題 傳送門:面試題 17.16. 按摩師 題目: 1.1 題目解析 越難的dp問題,看示例只能起到了解題目的效果,一般推不出啥普遍的規(guī)律,所以接下來就是我們的算法原理,通過動(dòng)歸的思想去理解,才會(huì)豁然開朗! 1.2 算法原理 1.2.1 狀態(tài)表示 我們需要通過經(jīng)驗(yàn) + 題目要求去

    2024年02月12日
    瀏覽(19)
  • 【算法】樹形DP ② 打家劫舍Ⅲ(樹上最大獨(dú)立集)

    【算法】樹形DP ② 打家劫舍Ⅲ(樹上最大獨(dú)立集)

    最大獨(dú)立集 需要從圖中選擇盡量多的點(diǎn),使得這些點(diǎn)互不相鄰。 337. 打家劫舍 III 用一個(gè)數(shù)組 int[] = {a, b} 來接收每個(gè)節(jié)點(diǎn)返回的結(jié)果 。返回值{a,b} a表示沒選當(dāng)前節(jié)點(diǎn)的最大值,b表示選了當(dāng)前節(jié)點(diǎn)的最大值。 使用 后序遍歷 dfs。 ( 發(fā)現(xiàn)樹形 DP 基本都是后序 dfs ) P1352 沒有上

    2024年02月12日
    瀏覽(25)
  • 【LeetCode題目詳解】第九章 動(dòng)態(tài)規(guī)劃part09 198.打家劫舍 213.打家劫舍II 337.打家劫舍III(day48補(bǔ))

    【LeetCode題目詳解】第九章 動(dòng)態(tài)規(guī)劃part09 198.打家劫舍 213.打家劫舍II 337.打家劫舍III(day48補(bǔ))

    你是一個(gè)專業(yè)的小偷,計(jì)劃偷竊沿街的房屋。每間房?jī)?nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng), 如果兩間相鄰的房屋在同一晚上被小偷闖入,系統(tǒng)會(huì)自動(dòng)報(bào)警 。 給定一個(gè)代表每個(gè)房屋存放金額的非負(fù)整數(shù)數(shù)組,計(jì)算你 不觸動(dòng)

    2024年02月09日
    瀏覽(34)
  • LeetCode - 198 打家劫舍

    LeetCode - 198 打家劫舍

    目錄 題目來源 題目描述 示例 提示 題目解析 算法源碼 題目來源 198. 打家劫舍 - 力扣(LeetCode) 題目描述 你是一個(gè)專業(yè)的小偷,計(jì)劃偷竊沿街的房屋。每間房?jī)?nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng),如果兩間相鄰的房屋在

    2023年04月08日
    瀏覽(19)
  • LeetCode198.打家劫舍

    你是一個(gè)專業(yè)的小偷,計(jì)劃偷竊沿街的房屋。每間房?jī)?nèi)都藏有一定的現(xiàn)金,影響你偷竊的唯一制約因素就是相鄰的房屋裝有相互連通的防盜系統(tǒng), 如果兩間相鄰的房屋在同一晚上被小偷闖入,系統(tǒng)會(huì)自動(dòng)報(bào)警。 給定一個(gè)代表每個(gè)房屋存放金額的非負(fù)整數(shù)數(shù)組, 計(jì)算你 不觸動(dòng)

    2024年03月12日
    瀏覽(23)
  • 【算法|動(dòng)態(tài)規(guī)劃No.10】leetcode LCR 089. 打家劫舍 & LCR 090. 打家劫舍 II

    【算法|動(dòng)態(tài)規(guī)劃No.10】leetcode LCR 089. 打家劫舍 & LCR 090. 打家劫舍 II

    個(gè)人主頁:兜里有顆棉花糖 歡迎 點(diǎn)贊?? 收藏? 留言? 加關(guān)注??本文由 兜里有顆棉花糖 原創(chuàng) 收錄于專欄【手撕算法系列專欄】【LeetCode】 ??本專欄旨在提高自己算法能力的同時(shí),記錄一下自己的學(xué)習(xí)過程,希望對(duì)大家有所幫助 ??希望我們一起努力、成長(zhǎng),共同進(jìn)步。

    2024年01月20日
    瀏覽(22)
  • LeetCode 337. 打家劫舍 III

    LeetCode 337. 打家劫舍 III

    原題鏈接:. - 力扣(LeetCode) 小偷又發(fā)現(xiàn)了一個(gè)新的可行竊的地區(qū)。這個(gè)地區(qū)只有一個(gè)入口,我們稱之為? root ?。 除了? root ?之外,每棟房子有且只有一個(gè)“父“房子與之相連。一番偵察之后,聰明的小偷意識(shí)到“這個(gè)地方的所有房屋的排列類似于一棵二叉樹”。 如果?

    2024年04月15日
    瀏覽(22)
  • leetcode 213. 打家劫舍 II

    leetcode 213. 打家劫舍 II

    ? ? ? ? ?本題是?打家劫舍?的進(jìn)階版,房屋之間形成一個(gè)環(huán)了,也就是第一個(gè)房屋和最后一個(gè)房屋不能一起偷了。那么能偷的情況分為下列三種: 不考慮偷首房間。 不考慮偷尾房間。 不考慮偷首尾房間。 ? ? ? ? 第三種情況包含于第一和第二種情況了,所以分別為第一種

    2024年02月12日
    瀏覽(26)
  • leetcode 2560. 打家劫舍 IV

    2560.?打家劫舍 IV 沿街有一排連續(xù)的房屋。每間房屋內(nèi)都藏有一定的現(xiàn)金。現(xiàn)在有一位小偷計(jì)劃從這些房屋中竊取現(xiàn)金。 由于相鄰的房屋裝有相互連通的防盜系統(tǒng),所以小偷? 不會(huì)竊取相鄰的房屋 ?。 小偷的? 竊取能力 ?定義為他在竊取過程中能從單間房屋中竊取的? 最大金

    2024年02月07日
    瀏覽(20)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包