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

【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù)

這篇具有很好參考價(jià)值的文章主要介紹了【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

本專欄內(nèi)容為:算法學(xué)習(xí)專欄,分為優(yōu)選算法專欄,貪心算法專欄,動(dòng)態(tài)規(guī)劃專欄以及遞歸,搜索與回溯算法專欄四部分。 通過本專欄的深入學(xué)習(xí),你可以了解并掌握算法。

??博主csdn個(gè)人主頁:小小unicorn
?專欄分類:動(dòng)態(tài)規(guī)劃專欄
??代碼倉庫:小小unicorn的代碼倉庫??
??????關(guān)注我?guī)銓W(xué)習(xí)編程知識(shí)

題目來源

本題來源為:

Leetcode 740. 刪除并獲得點(diǎn)數(shù)

題目描述

給你一個(gè)整數(shù)數(shù)組 nums ,你可以對(duì)它進(jìn)行一些操作。

每次操作中,選擇任意一個(gè) nums[i] ,刪除它并獲得 nums[i] 的點(diǎn)數(shù)。之后,你必須刪除 所有 等于 nums[i] - 1 和 nums[i] + 1 的元素。

開始你擁有 0 個(gè)點(diǎn)數(shù)。返回你能通過這些操作獲得的最大點(diǎn)數(shù)。
【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù),# 動(dòng)態(tài)規(guī)劃算法專欄,算法專欄,動(dòng)態(tài)規(guī)劃,算法,c++

題目解析

還是老樣子,先做一下預(yù)處理:
我們將數(shù)組中的數(shù)保存在arr中,轉(zhuǎn)化成一次“打家劫舍”問題
【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù),# 動(dòng)態(tài)規(guī)劃算法專欄,算法專欄,動(dòng)態(tài)規(guī)劃,算法,c++

算法原理

1.狀態(tài)表示

經(jīng)驗(yàn)+題目要求

【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù),# 動(dòng)態(tài)規(guī)劃算法專欄,算法專欄,動(dòng)態(tài)規(guī)劃,算法,c++

對(duì)于本題而言就是:
f[i]表示:選擇到i位置時(shí),nums[i]必選,此時(shí)能獲得最大點(diǎn)數(shù)
g[i]表示:選擇到i位置時(shí),不選nums[i],此時(shí)能獲得最大點(diǎn)數(shù)

2.狀態(tài)轉(zhuǎn)移方程

和之前一樣:
在i位置選和不選兩種情況
【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù),# 動(dòng)態(tài)規(guī)劃算法專欄,算法專欄,動(dòng)態(tài)規(guī)劃,算法,c++

【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù),# 動(dòng)態(tài)規(guī)劃算法專欄,算法專欄,動(dòng)態(tài)規(guī)劃,算法,c++

因此狀態(tài)方程為:


f[i]=g[i-1]+nums[i];
g[i]=max(f[i-1],g[i-1]);

3.初始化

只有0位置會(huì)發(fā)生越界,初始化一下0位置即可
【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù),# 動(dòng)態(tài)規(guī)劃算法專欄,算法專欄,動(dòng)態(tài)規(guī)劃,算法,c++

4.填表順序

從左往右,兩個(gè)表同時(shí)填

5.返回值

max(f[n-1],g[n-1])

代碼實(shí)現(xiàn)

動(dòng)態(tài)規(guī)劃的代碼基本就是固定的四步:

1.創(chuàng)建dp表
2.初始化
3.填表
4.返回值

本題完整代碼實(shí)現(xiàn):文章來源地址http://www.zghlxwxcb.cn/news/detail-842424.html

class Solution 
{
public:
    int deleteAndEarn(vector<int>& nums) 
    {
        const int N =10001;
        //預(yù)處理:
        int arr[N]={0};
        for(auto x:nums)
            arr[x]+=x;
        //創(chuàng)建dp表
        vector<int> f(N);
        vector<int> g(N);
        //初始化
        f[0]=arr[0];
        //填表
        for(int i=1;i<N;i++)
        {
            f[i]=g[i-1]+arr[i];
            g[i]=max(f[i-1],g[i-1]);
        }
        //返回值
        return max(f[N-1],g[N-1]);
    }
};

到了這里,關(guān)于【動(dòng)態(tài)規(guī)劃專欄】專題三:簡單多狀態(tài)dp--------3.刪除并獲得點(diǎn)數(shù)的文章就介紹完了。如果您還想了解更多內(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)文章

  • 【算法優(yōu)選】 動(dòng)態(tài)規(guī)劃之簡單多狀態(tài)dp問題——貳

    動(dòng)態(tài)規(guī)劃相關(guān)題目都可以參考以下五個(gè)步驟進(jìn)行解答: 狀態(tài)表示 狀態(tài)轉(zhuǎn)移?程 初始化 填表順序 返回值 后面題的解答思路也將按照這五個(gè)步驟進(jìn)行講解。 給定一個(gè)整數(shù)數(shù)組prices,其中第 prices[i] 表示第 i 天的股票價(jià)格 設(shè)計(jì)一個(gè)算法計(jì)算出最大利潤。在滿足以下約束條件下,

    2024年04月12日
    瀏覽(24)
  • 算法沉淀 —— 動(dòng)態(tài)規(guī)劃篇(簡單多狀態(tài)dp問題下)

    算法沉淀 —— 動(dòng)態(tài)規(guī)劃篇(簡單多狀態(tài)dp問題下)

    幾乎所有的動(dòng)態(tài)規(guī)劃問題大致可分為以下5個(gè)步驟,后續(xù)所有問題分析都將基于此 1.、狀態(tài)表示:通常狀態(tài)表示分為基本分為以下兩種,其中更是以第一種為甚。 以i為結(jié)尾 ,dp[i] 表示什么,通常為代求問題(具體依題目而定) 以i為開始 ,dp[i]表示什么,通常為代求問題(具

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

    【動(dòng)態(tài)規(guī)劃】簡單多狀態(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)
  • 【動(dòng)態(tài)規(guī)劃】12簡單多狀態(tài)dp問題_打家劫舍II_C++ (medium)

    【動(dòng)態(tài)規(guī)劃】12簡單多狀態(tài)dp問題_打家劫舍II_C++ (medium)

    題目鏈接:leetcode打家劫舍II 目錄 題目解析: 算法原理 1.狀態(tài)表示 2.狀態(tài)轉(zhuǎn)移方程 3.初始化 4.填表順序 5.返回值 編寫代碼 題目讓我們求 在不觸動(dòng)警報(bào)裝置的情況下 ?,能夠偷竊到的最高金額。 由題可得: 第一個(gè)房屋和最后一個(gè)房屋是緊挨著的 如果兩間相鄰的房屋在同一晚

    2024年02月02日
    瀏覽(21)
  • 【動(dòng)態(tài)規(guī)劃專欄】專題二:路徑問題--------1.不同路徑

    【動(dòng)態(tài)規(guī)劃專欄】專題二:路徑問題--------1.不同路徑

    本專欄內(nèi)容為:算法學(xué)習(xí)專欄,分為優(yōu)選算法專欄,貪心算法專欄,動(dòng)態(tài)規(guī)劃專欄以及遞歸,搜索與回溯算法專欄四部分。 通過本專欄的深入學(xué)習(xí),你可以了解并掌握算法。 ??博主csdn個(gè)人主頁:小小unicorn ?專欄分類:動(dòng)態(tài)規(guī)劃專欄 ??代碼倉庫:小小unicorn的代碼倉庫??

    2024年02月20日
    瀏覽(30)
  • 【動(dòng)態(tài)規(guī)劃專欄】專題二:路徑問題--------6.地下城游戲

    【動(dòng)態(tài)規(guī)劃專欄】專題二:路徑問題--------6.地下城游戲

    本專欄內(nèi)容為:算法學(xué)習(xí)專欄,分為優(yōu)選算法專欄,貪心算法專欄,動(dòng)態(tài)規(guī)劃專欄以及遞歸,搜索與回溯算法專欄四部分。 通過本專欄的深入學(xué)習(xí),你可以了解并掌握算法。 ??博主csdn個(gè)人主頁:小小unicorn ?專欄分類:動(dòng)態(tài)規(guī)劃專欄 ??代碼倉庫:小小unicorn的代碼倉庫??

    2024年02月22日
    瀏覽(31)
  • 【動(dòng)態(tài)規(guī)劃專欄】專題一:斐波那契數(shù)列模型--------2.三步問題

    【動(dòng)態(tài)規(guī)劃專欄】專題一:斐波那契數(shù)列模型--------2.三步問題

    本專欄內(nèi)容為:算法學(xué)習(xí)專欄,分為優(yōu)選算法專欄,貪心算法專欄,動(dòng)態(tài)規(guī)劃專欄以及遞歸,搜索與回溯算法專欄四部分。 通過本專欄的深入學(xué)習(xí),你可以了解并掌握算法。 ??博主csdn個(gè)人主頁:小小unicorn ?專欄分類:動(dòng)態(tài)規(guī)劃專欄 ??代碼倉庫:小小unicorn的代碼倉庫??

    2024年02月21日
    瀏覽(29)
  • 【學(xué)會(huì)動(dòng)態(tài)規(guī)劃】刪除并獲得點(diǎn)數(shù)(13)

    【學(xué)會(huì)動(dòng)態(tài)規(guī)劃】刪除并獲得點(diǎn)數(shù)(13)

    目錄 動(dòng)態(tài)規(guī)劃怎么學(xué)? 1. 題目解析 2. 算法原理 1. 狀態(tài)表示 2. 狀態(tài)轉(zhuǎn)移方程 3. 初始化 4. 填表順序 5. 返回值 3. 代碼編寫 寫在最后: 學(xué)習(xí)一個(gè)算法沒有捷徑,更何況是學(xué)習(xí)動(dòng)態(tài)規(guī)劃, 跟我一起刷動(dòng)態(tài)規(guī)劃算法題,一起學(xué)會(huì)動(dòng)態(tài)規(guī)劃! 題目鏈接:740. 刪除并獲得點(diǎn)數(shù) - 力扣(

    2024年02月15日
    瀏覽(20)
  • 【動(dòng)態(tài)規(guī)劃專欄】--簡單-- 動(dòng)態(tài)規(guī)劃經(jīng)典題型

    【動(dòng)態(tài)規(guī)劃專欄】--簡單-- 動(dòng)態(tài)規(guī)劃經(jīng)典題型

    目錄 動(dòng)態(tài)規(guī)劃 動(dòng)態(tài)規(guī)劃思維(基礎(chǔ)) 狀態(tài)表示(最重要) 狀態(tài)轉(zhuǎn)移方程(最難) 初始化(細(xì)節(jié)) 填表順序(細(xì)節(jié)) 返回值(結(jié)果) 解碼方法?? 【題目解析】? ?【算法原理】 C++ 算法代碼 復(fù)雜度分析 【空間優(yōu)化 - 滾動(dòng)數(shù)組】 C++ 算法代碼 復(fù)雜度分析 【DP邊界、初始化

    2024年02月08日
    瀏覽(30)
  • Java 動(dòng)態(tài)規(guī)劃 Leetcode 740. 刪除并獲得點(diǎn)數(shù)

    Java 動(dòng)態(tài)規(guī)劃 Leetcode 740. 刪除并獲得點(diǎn)數(shù)

    對(duì)于該題的題目分析,已經(jīng)代碼分析都一并寫入到了代碼注釋中

    2024年02月10日
    瀏覽(22)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包