java过了100 参考一下吧public static int findways(int[] array,int sum){ int length = array.length; int[][] dp =new int[length+1][sum+1]; for (int i = 0; i < sum+1; i++) { dp[0][i] = 0; } dp[0][0] = 1; for (int i = 1; i <=length ; i++) { for (int j = 0; j <=sum ; j++) { dp[i][j] = dp[i-1][j]; if(j>=array[i-1]) dp[i][j]+=dp[i-1][j-array[i-1]]; } } return dp[length][sum]; }
点赞 评论

相关推荐

牛客网
牛客企业服务