我的dp,本地测试过了,但是也来不及提交,这是主要代码,返回每组数据的结果 static int[] solution(int[] w, int[] v, int V) { int len = w.length; int[] dp = new int[V + 1]; int left; int n; for(int i = 0; i < len; ++i) { for(int j = V; j >= w[i]; --j) { left = v[i]; n = 0; for(int k = 0; k < len; ++k) { if(k != i && left > 0) { ++n; left--; left += v[k]; } } dp[j] = Math.max(dp[j], n + 1); } } int[] ans = new int[2]; ans[1] = dp[V]; for(int i = 0; i <= V; ++i) { if(dp[i] == ans[1]) { ans[0] = i; break; } } return ans; }
点赞 评论

相关推荐

今天 13:52
武汉大学 golang
点赞 评论 收藏
分享
每晚夜里独自颤抖:要求太多的没必要理
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务