网上有贴说,第四题有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); } }
点赞 评论

相关推荐

仁者伍敌:牛子这些人还会点一个自动回复,boss都不带回复的
点赞 评论 收藏
分享
练习生懒羊羊:开飞机把这个公司创飞吧
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务