美团笔试第四题0%

题目:给了a数组,b数组每一位都与a对应位置不同,即bi!=ai,b的所有元素之和与元素之和相同,b数组都是正整数。

到交卷还以为b数组必须是个位数😶,直到写了这条动态才反应过来,写了个寂寞。

代码如下,求dalao们看看思路对不对

import java.util.Scanner;

// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {
    static int[] a;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int n = in.nextInt();
        a = new int[n];
        int sum = 0;
        for (int i = 0; i < n; i++) {
            a[i] = in.nextInt();
            sum += a[i];
        }
        int res = (int) dp(sum, n);
        System.out.println(res);
    }

    public static double dp(int target, int n) {
        if (n == 1) {
            if (target != a[a.length - n]) {
                return 1;
            } else {
                return 0;
            }
        }
        double res = 0;
//        for (int i = 1 ; i < 10; i ++) {
        for (int i = 1; i < target; i++) {

            if (i == a[a.length - n]) {
                continue;
            }
            res += dp(target - i, n - 1) % (1E9 + 7);
        }
        return res % (1E9 + 7);
    }
}

全部评论
这个dp二维数组
点赞 回复 分享
发布于 2023-08-19 21:15 四川

相关推荐

2024-12-27 10:21
已编辑
海南师范大学 媒介策划
到我怀里来:身高体重住址这些就别写了,留几个关键的就行,工作经历突出重点写详细点
点赞 评论 收藏
分享
2024-11-29 11:43
河南科技大学 Java
铁锈不腻玩家:下面那个袁先生删了,问他怎么回事,头像都换不明白
点赞 评论 收藏
分享
德科信息 华为OD岗位 20K+ 统招本科
点赞 评论 收藏
分享
评论
1
2
分享
牛客网
牛客企业服务