Leetcode 740 刪除與獲得點數

2021-10-06 13:42:59 字數 874 閱讀 6485

題目鏈結

思路——(打家劫舍4?)

一開始看到左右都受影響就想到了leetcode-312 戳氣球,但是後來才發現這就是打家劫舍鴨!!!

只要你選用了a,那麼a-1和a+1都和你無關了,那麼肯定是要貪心的選全部的a才對得起損失。

問題轉化為對於每乙個元素,不能選它的臨近值(不能偷隔壁),聯動成功!

具體**

1.將nums陣列最大值求出mm

2.開乙個mm+1大小的value陣列,value[mm]表示mm的個數

3.dp計算打家劫舍,遞推dp[i]=max(dp[i-2]+i*value[i],dp[i-1]);

**

class

solution

vector<

int>

value

(mm+1,

0);for

(int i=

0;isize()

;i++

) vector<

int>

dp(value.

size()

,0);

dp[0]

=0; dp[1]

=value[1]

;for

(int i=

2;isize()

;i++

)return dp[dp.

size()

-1];

}};

leetcode740 刪除與獲得點數

給定乙個整數陣列 nums 你可以對它進行一些操作。每次操作中,選擇任意乙個 nums i 刪除它並獲得 nums i 的點數。之後,你必須刪除每個等於 nums i 1 或 nums i 1 的元素。開始你擁有 0 個點數。返回你能通過這些操作獲得的最大點數。示例 1 輸入 nums 3 4,2 ...

740 刪除與獲得點數 動態規劃

題目描述 給定乙個整數陣列 nums 你可以對它進行一些操作。每次操作中,選擇任意乙個 nums i 刪除它並獲得 nums i 的點數。之後,你必須刪除每個等於 nums i 1 或 nums i 1 的元素。開始你擁有 0 個點數。返回你能通過這些操作獲得的最大點數。示例 1 輸入 nums 3...

力扣c語言實現 740 刪除與獲得點數

給定乙個整數陣列 nums 你可以對它進行一些操作。每次操作中,選擇任意乙個 nums i 刪除它並獲得 nums i 的點數。之後,你必須刪除每個等於 nums i 1 或 nums i 1 的元素。開始你擁有 0 個點數。返回你能通過這些操作獲得的最大點數。示例 1 輸入 nums 3,4,2 ...