组合树

时间:2019-02-26 18:24:49

标签: tree combinations

有人可以帮我解决所附图片中的以下问题吗?首选Java或PYTHON编码语言

Image

1 个答案:

答案 0 :(得分:0)

根据我的评论,

绝对不是最好的,而是一种建议的算法:

  

只看[4,3,1],[[4,3],1] = 24和[4,[3,1]] = 15的示例,就开始这样思考吧

     

因此,应将1直接分组,并以与其相邻的较小数字进行分组。

不仅应将1个数字,而且应将最小的数字与较小的一个分组,例如:

5, 3, 7, 9, 2, 7
a, b, c, d, e, f

在这里,您应该首先将2 e与7 f而不是2 e与9 d进行分组,然后将3 b与5 a而不是3 b与7 c进行分组。

所以你得到了。

[5, 3], 7, 9, [2, 7]

现在不要将7、9分组,但是由于7是最小的,因此将其与[5,3]分组(仅记住5个计数),您将得到:

[[5, 3], 7], 9, [2, 7]

现在9可以分组到任何一侧(我想,我很困惑),因为双方都有7,所以:

[[5, 3], 7], [9, [2, 7]]  -- for example

最后:

[[[5, 3], 7], [9, [2, 7]]]

所以最终结果,也许我不能全部尝试并验证结果,但可以希望

enter image description here

好吧,也许我是完全错误的(几乎是对的),但这可能会建立起一种启动方法。

我希望它能对您有所帮助:)