删除并获得点数


Submit solution

Points: 300
Time limit: 1.0s
Memory limit: 4M

Author:
Problem type
Allowed languages
C, C++
LeetCode 740. Delete and Earn

给你一个整数数组 nums,你可以执行以下操作任意次:
从数组中选择一个数字 x,并获得 x 个点数。
然后,必须从数组中删除所有数值为 x - 1 和 x + 1 的元素。
最终,返回你能获得的 最多点数。

第一行输入一个整数n
第二行输入n个整数,表示数组 nums的每一个元素。

输出一个整数表示获得的最多的点数

示例 1:

输入:

4
3 4 2

输出:

6
解释:

选 4 得到 4 分,删除 3; 选 2 得到 2 分。 总分 = 6。

示例 2:

输入:

6
2 2 3 3 3 4

输出:

9
解释:

选 3 得到 3 + 3 + 3 = 9 分,删除 2 和 4; 总分 = 9。

约束条件:

\(1 \le nums.length \le 2 * 10^4\)
\(1 \le nums[i] \le 10^4\)


Comments

There are no comments at the moment.