个人觉得01背包解最简单,只是时间复杂度需优化。 public static void MultipleEle(int []source, int sum) {     List<int> tmp = new List<int>();     MultipleEleCore(source, sum, source.Length - 1, tmp); } public static void MultipleEleCore(int []source, int sum, int index, List<int>ilist) { if (source == null || ilist == null || source.Length == 0)     { return;     }     if (index < 0)     {     return;     }     if (sum == source[index])     { //if (ilist.Count == 2) { Console.Write(source[index] + " "); foreach (int item in ilist) { Console.Write(item + " "); } Console.WriteLine(); }     }     ilist.Insert(0, source[index]);     MultipleEleCore(source, sum - source[index], index - 1, ilist);     ilist.RemoveAt(0);     MultipleEleCore(source, sum, index - 1, ilist); }
点赞 评论

相关推荐

不愿透露姓名的神秘牛友
2025-12-17 17:40
点赞 评论 收藏
分享
牛客网
牛客网在线编程
牛客网题解
牛客企业服务