Cod*_*117 0 c++ arrays recursion max
获得最大值似乎并不太难:
int getMax(int arr[], int size) {
if(size == 1) {
return arr[0]
}
return max(arr[size - 1], getMaxIndex(arr, size - 1));
}
Run Code Online (Sandbox Code Playgroud)
但是我怎样才能找到它所在的指数?如果我创建一个count变量,它会在递归调用后立即被擦除.我无法在网上找到任何人只使用数组和大小参数递归执行此操作.谢谢你的帮助.
你可以这样做:
int getMaxIndex(int arr[], int size) {
if (size == 1) {
return 0;
}
const auto recMaxIndex = getMaxIndex(arr, size - 1);
if (arr[recMaxIndex] < arr[size - 1]) {
return size - 1;
} else {
return recMaxIndex;
}
}
Run Code Online (Sandbox Code Playgroud)