【发布时间】:2016-01-17 01:25:37
【问题描述】:
假设有一个整数数组arr[0..n-1]。找到一个子序列sub[i..j](i > 0 和 j
例子:
arr[5] = {5,1,7,8,2};
删除{7,8},数组变为{5, 1, 2},其平均值为2.67(可能的最小值)。
我认为这是对最长递增子序列的修改,但无法弄清楚。
谢谢,
【问题讨论】:
-
您还需要定义子序列的长度或剩余的最小元素数。例如,您的示例的更好解决方案是删除
{5, 1, 7, 8}并获得平均值 2(只有一个元素)。但是,如果您要求生成的数组需要两个或更多元素,那么它不是一个解决方案。 -
我忘记了 i 和 j 的条件。感谢您指出。
-
听起来还是不对。
{1}的平均值为1,其中i = 1、j = 1、1 > 0和1 < 5-1 -
@user3886450 删除子序列
{7,8,2}不会产生较低的平均值吗? (如果答案应该很明显,我希望你能原谅我。) -
@Matt 据我所知,您试图为其找到最小平均值的数组实际上是
arr[0..i-1,j+1..n-1]
标签: arrays algorithm array-algorithms