题解 | #删除相邻数字的最大分数#

删除相邻数字的最大分数

http://www.nowcoder.com/practice/3bcf72c738b6494bbe1ebe0ffde56152

将数组进行转化 nums[i] => trans[nums[i]] += nums[i] 数组下标对应选择的总和 转化为dp[i] = Math.max(dp[i - 1], dp[i - 2] + trans[i])的问题

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner reader = new Scanner(System.in);
        int n = reader.nextInt();
        int[] p = new int[n];
        for (int i = 0; i < n; i++) {
            p[i] = reader.nextInt();
        }
        int[] dp = new int[10001];
        int[] trans = new int[10001];
        for (int i = 0; i < p.length; i++) {
            trans[p[i]] += p[i];
        }
        dp[0] = 0;
        dp[1] = trans[1];
        for (int i = 2; i < trans.length; i++) {
            dp[i] = Math.max(dp[i - 1], dp[i - 2] + trans[i]);
        }
        System.out.println(dp[dp.length - 1]);
    }
}
全部评论
为什么要设置int[] dp = new int[10001],而不能设置成int[] dp = new int[n]?
点赞 回复 分享
发布于 2022-11-15 15:05 湖北

相关推荐

小浪_Coding:找硬件测试,也可兼顾软测欧, 简历还可以的 ,注意排版,项目写的有条理一点, 然后个人技能多加点, 润色好简历之后就开始沟通海投了,深圳,东莞这边做硬件相关的公司还不少, 医疗类,仪器类的都可以尝试
点赞 评论 收藏
分享
风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
评论
6
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务