HS放映厅

笛卡尔积

电脑版发表于:2022/3/8 12:00

从事电商开发后,涉及到关系SKU的算法

1、SKU是指一款商品,每款都有出现一个SKU,便于电商品牌识别商品。

2、一款商品多色,则是有多个SKU,例:一件衣服,有红色、白色、蓝色,则SKU编码也不相同,如相同则会出现混淆,发错货。


SKU数量取决于产品规格数量的积(比如:颜色数量*尺码数量)

案例:
Color:Blue、Black
Size:S、M

思路:最后一层输出结果,否则递归

话不多说,直接上代码

public void CartesianProduct(
    List<List<string>> arr,
   List<List<string>> result,
   int level, List<string> vals)
{
    var currents = arr[level];

    foreach (var curr in currents)
    {
        if (level + 1 < arr.Count)
            CartesianProduct(arr, result, level + 1, new List<string>(vals) { curr });
        else
            result.Add(new List<string>(vals) { curr });
    }
}


结果如下:
[["Black","S"],["Black","M"],["Blue","S"],["Blue","M"]]

关于TNBLOG
TNBLOG,技术分享。技术交流:群号677373950
ICP备案 :渝ICP备18016597号-1
App store Android
精彩评论
{{item.replyName}}
{{item.content}}
{{item.time}}
{{subpj.replyName}}
@{{subpj.beReplyName}}{{subpj.content}}
{{subpj.time}}
猜你喜欢