美团笔试第四题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 四川

相关推荐

06-16 15:04
黑龙江大学 Java
零OFFER战士:另一个版本查看图片
点赞 评论 收藏
分享
自学java狠狠赚一...:骗你点star的,港卵公司,记得把star收回去
点赞 评论 收藏
分享
评论
1
2
分享

创作者周榜

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