Code Monkey home page Code Monkey logo

Comments (18)

mcfly001 avatar mcfly001 commented on June 8, 2024 1

我尝试换了一种思路,https://github.com/mcfly001/choose-sku

from sku-algorithm.

kkkelicheng avatar kkkelicheng commented on June 8, 2024

逻辑上确实有漏洞,没有理由能在同级能建立连线

from sku-algorithm.

xieyezi avatar xieyezi commented on June 8, 2024

@biwin-wangli @kkkelicheng 谢谢指出问题,我会积极寻找解决方法,如果有很好的解决方法,请回复我,或者给我提PR ,谢谢

from sku-algorithm.

xieyezi avatar xieyezi commented on June 8, 2024

@kkkelicheng

逻辑上确实有漏洞,没有理由能在同级能建立连线

同级连线是指:在同一级的规格中,选择了某一项,需要判断同级中的其他项,是否可选。

from sku-algorithm.

kkkelicheng avatar kkkelicheng commented on June 8, 2024

是的

from sku-algorithm.

mcfly001 avatar mcfly001 commented on June 8, 2024

说以下整体思路
当我们选择红色的时候,我们过滤得到id为1,2,3,4这几个sku的specs中包含红色,那我们就将这些specs合并,同时去重,获取到16G、32G、150ml、300ml、450ml这几个特性值可以选择。

当我们选择红色、32G的时候我们发现id为2,3,4这几个sku包含了红色且包含了32G,通过合并和去重之后获取到150ml,300ml,450ml这3个节点可选。

以此类推选择在增加一个也只是多了一个过滤条件,最后去重得到的特性值就是可选的,同时我们还能获取到价格区间以及剩余库存

from sku-algorithm.

xieyezi avatar xieyezi commented on June 8, 2024

@mcfly001 能给出代码实现吗?

from sku-algorithm.

mcfly001 avatar mcfly001 commented on June 8, 2024

@mcfly001 能给出代码实现吗?

https://github.com/mcfly001/choose-sku

from sku-algorithm.

Hilbertangers avatar Hilbertangers commented on June 8, 2024

@xieyezi 我用加权图改了下,测了几个case没啥问题,你看看呢pr

from sku-algorithm.

xieyezi avatar xieyezi commented on June 8, 2024

@Hilbertangers
谢谢提供解决方法,可以具体讲讲思路吗?

from sku-algorithm.

xieyezi avatar xieyezi commented on June 8, 2024

@mcfly001
尝试了一下你的解决思路。和我一开始的解决思路如出一辙,只不过我发现你的方法可能有个问题,就是当我把三项都选择完了之后,其他可选的组合都被禁用了,这种情况其实不应该出现的。

QQ20210224-133719@2x

出现如上情况,其实【"白色", "32G", "300ml"】这种情况是仍可以选的,所以这里不应该禁用白色。

from sku-algorithm.

Hilbertangers avatar Hilbertangers commented on June 8, 2024

@Hilbertangers
谢谢提供解决方法,可以具体讲讲思路吗?

我的思路是对无向图的边进行加权,每一种规格是一个权值,之后绘制邻接矩阵的时候把权值代替0,1的布尔值,然后在取交集判断的时候,判断是否相等就行了(即所选顶点是否在同一个权级的规格内)。
实现的时候发现存在单边多权的情况,需要做下特殊处理。
刚刚又加了个commit,fix了个bug

from sku-algorithm.

imshier avatar imshier commented on June 8, 2024

@Hilbertangers
谢谢提供解决方法,可以具体讲讲思路吗?

我的思路是对无向图的边进行加权,每一种规格是一个权值,之后绘制邻接矩阵的时候把权值代替0,1的布尔值,然后在取交集判断的时候,判断是否相等就行了(即所选顶点是否在同一个权级的规格内)。
实现的时候发现存在单边多权的情况,需要做下特殊处理。
刚刚又加了个commit,fix了个bug

试了一下你的代码,先选白色,然后再选kg 就报错了

from sku-algorithm.

Hilbertangers avatar Hilbertangers commented on June 8, 2024

@Hilbertangers
谢谢提供解决方法,可以具体讲讲思路吗?

我的思路是对无向图的边进行加权,每一种规格是一个权值,之后绘制邻接矩阵的时候把权值代替0,1的布尔值,然后在取交集判断的时候,判断是否相等就行了(即所选顶点是否在同一个权级的规格内)。
实现的时候发现存在单边多权的情况,需要做下特殊处理。
刚刚又加了个commit,fix了个bug

试了一下你的代码,先选白色,然后再选kg 就报错了

感谢,已经修改了,再试试呢

from sku-algorithm.

mouday avatar mouday commented on June 8, 2024

两组规格没问题,3组就出问题了,2X2X3 一共12种sku, 如果少了某一个,剩余11中sku,这个图和12中sku没有区别

from sku-algorithm.

Hilbertangers avatar Hilbertangers commented on June 8, 2024

两组规格没问题,3组就出问题了,2X2X3 一共12种sku, 如果少了某一个,剩余11中sku,这个图和12中sku没有区别

@mouday 可以提供下用例数据吗,像1楼那种

from sku-algorithm.

mouday avatar mouday commented on June 8, 2024

两组规格没问题,3组就出问题了,2X2X3 一共12种sku, 如果少了某一个,剩余11中sku,这个图和12中sku没有区别

@mouday 可以提供下用例数据吗,像1楼那种

我的数据和一楼类似

from sku-algorithm.

Hilbertangers avatar Hilbertangers commented on June 8, 2024

两组规格没问题,3组就出问题了,2X2X3 一共12种sku, 如果少了某一个,剩余11中sku,这个图和12中sku没有区别

@mouday
image
image
试了下你说的情况 没有复现😢

from sku-algorithm.

Related Issues (4)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.