【发布时间】:2018-06-22 22:32:38
【问题描述】:
我正在尝试编写最大对差的递归代码,例如:我有这个代码,但我不想将我的答案保存到数组,我只需要我的递归代码有两个运算符数组和大小数组:
int theBigNum(int arr[], int i){
int tmpSum,sum = 0;
tmpSum = arr[i] - arr[i-1];
if (tmpSum < 0)
tmpSum = tmpSum * -1;
if (tmpSum > arr[6])
arr[6] = tmpSum;
if (i < 2)
return arr[6];
return theBigNum(arr, i - 1);
}
void main() {
int arr[7] = { 4, 6, -2, 10, 3, 1, 2};
int num = theBigNum(arr, 6);
}
返回答案必须是 12,因为它是最高的接近对差。 帮我! 谢谢!
【问题讨论】:
-
theBigNum(arr, 6);所以数组的大小是 6? -
您对问题的描述令人困惑。您的意思是相邻对的差异,而不是总和。
-
语言无所谓 C 或 C++
-
我的数组是动态的,我给出了大小的例子
-
你冒着被经常反对双重标签的人反对的风险。背景见这里:meta.stackoverflow.com/questions/361795/…