假设我们有一个包含一些数字的数组,并且我们得到一个值 d(其中 d >= 1),它指示某个所需的索引。我们如何找到以 d 为界的值的最大总和。这是一个例子:
arr = [3000, 4000, 2000, 2500, 3500, 5000]
d = 3
将返回 4000 + 5000 = 9000(因为这两个数字之间至少有 3 的距离)。但在这种情况下:
arr = [3000, 4000, 2000, 2500, 3500, 5000]
d = 2
将返回 4000 + 2500 + 5000 = 11500。
编辑:更多解释 - 我们需要在数组中找到最大可能的总和。唯一的技巧是我们不能包含小于 d 索引的数字。在第二个示例中,我们可以轻松地将所有数字相加以获得最大值,但由于我们以 d = 2 为界,我们必须选择一个数字不小于距离 2 的组合。另一个示例可能包括 3000 + 2500 + 5000 = 10500。如果您查看我的第二个解决方案 11500 > 10500,因此这不是最佳答案