打家劫舍iv----删除并获得点数问题
Posted 秦枫-_-
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打家劫舍iv----删除并获得点数问题相关的知识,希望对你有一定的参考价值。
class Solution {
public int deleteAndEarn(int[] nums) {
int maxvalue=0;
for(int ch:nums){
maxvalue=Math.max(ch,maxvalue);
}
int []all=new int[maxvalue+1];
for(int ch:nums){
all[ch]+=ch;
}
return delete(all);
}
public int delete(int []all){
int []dp=new int[all.length];
dp[0]=all[0];
dp[1]=Math.max(dp[0],all[1]);
for(int i=2;i<all.length;i++){
dp[i]=Math.max(dp[i-1],dp[i-2]+all[i]);
}
return dp[all.length-1];
}
}
以上是关于打家劫舍iv----删除并获得点数问题的主要内容,如果未能解决你的问题,请参考以下文章
LeetCode740. 删除并获得点数(java/c++动态规划)