随笔 - 44  文章 - 1  评论 - 3  阅读 - 47703

算两个集合共有多少种配合

public static bool Do(List<GoodsSkuInfoDetail> goodsSkuInfos, List<List<KeyValue>> param)
{
if (param == null) { return false; }
List<List<KeyValue>> LO = new List<List<KeyValue>>();
int sum = 1;
int n = 0;
foreach (List<KeyValue> o in param)
{
LO.Add(o);
sum *= o.Count;
n++;
};
for (int i = 0; i < sum; i++)
{
List<KeyValue> _o = new List<KeyValue>();
for (int j = 0; j < n; j++)
{
List<KeyValue> o = LO[j];
_o.Add(o[(i * Index(LO, j) / sum) % o.Count]) ;
}
var skuinfo = goodsSkuInfos.Where(x => x.GoodsAttributeList == _o);
}
return true;
}

private static int Index(List<List<KeyValue>> LO, int lindex)
{
int n = 1;
for (int i = 0; i < LO.Count; i++)
{
if (i <= lindex)
{
n = n * LO[i].Count;
}
else
{
break;
}
}
return n;
}

posted on   程铭  阅读(111)  评论(0编辑  收藏  举报
编辑推荐:
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示