java刷题--740删除并获得点数
Posted Anrys
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java刷题--740删除并获得点数相关的知识,希望对你有一定的参考价值。
题目
代码
class Solution {
public int deleteAndEarn(int[] nums) {
int max_Num = 0;
for(int num: nums){ if(max_Num < num) max_Num = num; }
//根据最大值创建多大的数组
int[] dp = new int[max_Num + 1];
//把数组中的元素存在新的新的数组中,数组下标表示指,该下标的数组指表示该下标出现的次数
for (int num: nums) { dp[num]++; }
//动态规划求解
for(int i = 2; i <= max_Num; i++) {
dp[i] = Math.max(dp[i - 1], dp[i - 2] + dp[i] * i);
}return dp[max_Num];
}
}
结果
以上是关于java刷题--740删除并获得点数的主要内容,如果未能解决你的问题,请参考以下文章