美团笔试第四题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); } }