我有一个数组a,现在我想对它执行以下操作:
选择两个最佳索引i和j,使i!=J
将arr[i]替换为arr[i]–arr[j],并从阵列中删除arr[j]。
在数组上执行这些操作,使数组最终包含最大值。
例子:
{ 2, 3, 4, 5 }
产出:2
说明:
假设i=0,j=1然后{1,4,5}//(3-2)假设i=0,j=1然后{3,5}/(4-1)假设i=0,j=1然后{2}//(5-3)
其他例子:
{1,3,7}-输出:5{9,0,1,3,4,5}-输出:-6
这是我的代码:
static int find_maximum_value(int A[]) {
int result = 0;
for (int i = 1; i < A.length; i++) {
A[i] = A[i] - A[i - 1];
}
result = A[A.length - 1];
return result;
}
这是几天前在一次采访中问到的。
它适用于上述测试用例。但还有另一个测试用例失败了。
对于输入{8,3,4,1,9,4},输出应该是考试中提到的-3,但是我的程序返回-13。
暂无答案!
目前还没有任何答案,快来回答吧!