小编sub*_*ukt的帖子

如何从迭代方法转向递归方法

我有一个迭代的C#循环,它填充了最多5列的棋盘格式.

这些值是成对的,它始终是每个列的标题和多个值,并且它将值组合为非重复组合.

从我能想象到的最简单的解决方案开始,在看了之后,我认为必须通过递归方式更好地解决这个问题.

下面是我到目前为止尝试过的一个例子:

 List<EtOfferVariant> variants = new List<EtOfferVariant>();

 _containers[0].Variant.ForEach(first =>
 {
     if (_containers.Count > 1)
     {
         _containers[1].Variant.ForEach(second =>
         {
             if (_containers.Count > 2)
             {
                 _containers[2].Variant.ForEach(third =>
                     {
                         EtOfferVariant va = new EtOfferVariant();
                         va.OfferVariant1Type = _containers[0].VariantKey;
                         va.OfferVariant1 = first;
                         va.OfferVariant2Type = _containers[1].VariantKey;
                         va.OfferVariant2 = second;
                         va.OfferVariant3Type = third;
                         va.OfferVariant3 = _containers[3].VariantKey;
                         variants.Add(va);
                     });
             }
             else
             {
                 EtOfferVariant va = new EtOfferVariant();
                 va.OfferVariant1Type = _containers[0].VariantKey;
                 va.OfferVariant1 = first;
                 va.OfferVariant2Type = second;
                 va.OfferVariant2 = _containers[1].VariantKey;
                 variants.Add(va);
             }
         });
     }
     else
     {
         EtOfferVariant …
Run Code Online (Sandbox Code Playgroud)

c# iteration recursion combinatorics

6
推荐指数
1
解决办法
254
查看次数

标签 统计

c# ×1

combinatorics ×1

iteration ×1

recursion ×1