AcWing
  • 首页
  • 题库
  • 题解
  • 分享
  • 问答
  • 活动
  • 应用
  • 吐槽
  • 登录/注册

LeetCode 740. 删除与获得点数

作者: 作者的头像   dys ,  2021-01-07 16:02:06 ,  阅读 27


1


class Solution {
public:
    int deleteAndEarn(vector<int>& nums) {
        if(nums.size() == 1) return nums[0];
        unordered_map<int,int> cnt;
        int n = nums.size();
        for(int i=0;i<n;i++){
            cnt[nums[i]]++;
        }
        vector<int>f(10001,0);
        int res = 0;
        f[0] = 0;
        for(int i=1;i<10001;i++){
            f[i] = cnt[i]*i;
            if(i>=2 && cnt.count(i)) f[i] = max(f[i-1],f[i-2]+cnt[i]*i);
            res = max(res,f[i]);
        }
        return res;
   }
};

0 评论

你确定删除吗?

© 2018-2021 AcWing 版权所有  |  京ICP备17053197号-1
联系我们  |  常见问题
AcWing
请输入登录信息
更多登录方式: 微信图标 qq图标
请输入绑定的邮箱地址
请输入注册信息