【发布时间】:2018-01-25 10:44:55
【问题描述】:
给定一个数组A,它有n个元素和整数k。我需要找到从数组的第一个元素开始的最长子序列,并且子序列的总权重≤k。
子序列的权重定义为所选子序列的连续元素的绝对差之和。
约束 : -
1 ≤ n ≤10^5
0≤k≤50
0≤Ai≤50
示例:n= 4, k = 5, A = [1, 2, 50, 6]
答案:最长的有效子序列[1, 2, 6],长度为3。 子序列的权重是|1 - 2| + |2 - 6| = 1 + 4 = 5。 请注意,子序列从数组的第一个元素开始。
我认为这个问题可以使用动态规划来解决,但我无法提出递归关系。
【问题讨论】:
标签: arrays algorithm data-structures dynamic-programming