打家劫舍变形
class Solution {
public int deleteAndEarn(int[] nums) {
int len = nums.length;
if(len<=1) return nums[0];
int[] f = new int[10001];
int[] tmp = new int[10001];
for(int num:nums){
tmp[num]++;
}
f[0]=0;
f[1]=tmp[0]*0;
int max = 0;
for(int i=2; i<10001; i++){
f[i] = Math.max(f[i-1],f[i-2]+tmp[i-1]*(i-1));
max = Math.max(max,f[i]);
}
return max;
}
}