我遇到了下面的面试问题,我无法理解这里需要做什么?
假设你想建一座很高的塔。你有一个
建造你的塔的积木对于每种块类型,
你得到了这种类型的积木的数量,重量,
和块可以支持它的最大重量,包括
本身。假设(现在)所有的块都有相同的高度(1
米)。你能把这些堆起来建造的最高的塔是什么?
阻碍?
下面是格式为“”的示例输入,每行表示一个块类型

1   1  1
10  2  10
100 3  100

输出应该是:35
解决这个问题的最好办法是什么?

最佳答案

这是背包问题的一个变体:
https://en.m.wikipedia.org/wiki/Knapsack_problem
这是动态规划的经典例子我不会在这里写下算法,因为有无数人比我之前更善于解释它,维基百科上关于它的文章无疑是一个好的开始。

10-08 04:17