我的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; }
点赞 评论

相关推荐

在笔试的大西瓜很矫健:这跟数分八竿子打不着,先去了解实习要会什么再说找实习吧
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务