How do I generate integer partitions?

前端 未结 7 1505
悲哀的现实
悲哀的现实 2021-01-20 04:54

I have a list of numbers like 1,2,3 and I want to find all the combination patterns that sum up to a particular number like 5. For example:

Sum=5
Numbers:1,2         


        
7条回答
  •  无人及你
    2021-01-20 05:18

        public static List> Partition(int n, int max, string prefix)
        {
    
            if (n == 0)
            {
                _results.Add(prefix.Split(new char[] { ',' }).ToList());
            }
    
            for (int i = Math.Min(max, n); i >= 1; i--)
            {
                Partition(n - i, i, prefix + "," + i);
            }
    
            return _results;
        }
    

提交回复
热议问题