网上有贴说,第四题有01背包问题解决我发现不行。很简单,小的值对应的的余数也可以大,大的值对应的余数也可以小。逻辑混乱。所以我添加了一个辅助集合Sorted,进行暴力破解。 static SortedSet<Integer> set = new TreeSet<>(); public static void knapsack01(int[] data, int k, int m, int total) { int n = data.length; // 已经对数组中的所有数据进行判断了 if (k==n) { set.add(total%m); } else { // 选当前索引的数组,也就是total值增加 knapsack01(data, k+1, m, total+data[k]); // 不选当前索引的数组,total值不变 knapsack01(data, k+1, m, total); } }
点赞 评论

相关推荐

每晚夜里独自颤抖:你cet6就cet6,cet4就cet4,你写个cet证书等是什么意思。专业技能快赶上项目行数,你做的这2个项目哪里能提现你有这么多技能呢
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务