dp[i][j]:表示构建新数组来到i位置 此时数组的和还剩余j
==>dp[数组长度][0] = 1:
==>第一列,最后一行答案已知
==>需要知道:dp[0][sum]的值
==>dp[i][j] = dp[i + 1][j - k]的和 其中j-k>=0
但是我只能过6%,不知道哪的问题
我的代码,看看佬能看出来我哪有问题
// Scanner sc = new Scanner(System.in);
// int n = sc.nextInt();
// int[] resource = new int[n];
// for (int i = 0; i < n; i++) {
// resource[i] = sc.nextInt();
// }
// int sum = Arrays.stream(resource).sum();
// long[][] dp = new long[n + 1][sum + 1];
// dp[n][0] = 1;
// for(int i = n - 1;i >= 0;i--){
// for(int j = 1;j < dp[0].length;j++){
// long res = 0;
// for(int k = 1;j - k >= 0;k++){
// if(resource[i] == k)
// continue;
// res = res + dp[i + 1][j - k] % 1000000007;
// }
// res += dp[i + 1][j - 1];
// dp[i][j] = res;
// }
// }
// System.out.println(dp[0][sum]);