我们可以构建的三角形数量

时间:2018-05-11 13:24:56

标签: algorithm

我们获得n段 - 每个段都有一定的长度。所有这些细分都构成了一根棍子。我们只能在某些部分之间打破这一点。

现在我们想知道有多少分为三个部分,形成一个三角形。所以我们在两个地方打破棍子,将每个部分的段长度相加,然后检查它们是否形成三角形。

例如:对于长度为6的{​​{1}}段,我们可以形成两个三角形1 2 3 4 5 61 2 3 | 4 5 | 6

对于1 2 3 4 | 5 | 6段:8,可以有1 1 2 3 5 8 13 21个三角形。

我需要在最佳时间复杂度下计算这些三角形的数量。我想做一些部分和然后二元搜索?但不确定细节。

感谢您的帮助。

0 个答案:

没有答案