【发布时间】:2021-12-07 18:04:27
【问题描述】:
我有一个产品实体列表,这些产品实体是自引用的,可以达到无限级别。例如:
Name: Product 1
Parent: null
Value: null
Name: Product 2
Parent: "Product 1"
Value: 20
Name: Product 3
Parent: "Product 2"
Value: null
Name: Product 4
Parent: "Product 3"
Value: 40
Name: Product 5
Parent: "Product 4"
Value: 50
Name: Product 6
Parent: null
Value: null
Name: Product 7
Parent "Product 6"
Value: 30
我正在尝试将具有空值的任何实体设置为具有该实体下的所有实体的总和(如果有任何值)。在上面的示例中,我最终会得到:
Name: Product 1
Parent: null
Value: 110
Name: Product 2
Parent: "Product 1"
Value: 20
Name: Product 3
Parent: "Product 2"
Value: 90
Name: Product 4
Parent: "Product 3"
Value: 40
Name: Product 5
Parent: "Product 4"
Value: 50
Name: Product 6
Parent: null
Value: 30
Name: Product 7
Parent "Product 6"
Value: 30
我尝试做一些预处理,将实体存储在哈希图中,但没有成功。
【问题讨论】:
-
您能向我们展示您标记的三种语言中的任何一种的数据吗?
-
看起来像
Set来跟踪对象是否已被访问应该可以工作。 -
您使用的是哪种语言,请仅标记一种。如果你想要一个通用算法,请标记language-agnostic
标签: javascript java c#