每日摄影(河南开封清明上河园国际菊花展):

代码(递归)
cpp
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int a[maxn],n,st;
void cmp(int m){
if(m==n) return;
if(a[m]>a[st]) st=m;
cmp(m+1);
}
//递归
int main(){
cin>>n;
for(int i=0;i<n;i++) cin>>a[i];
cmp(0);
//cmp(起始下标)
cout<<a[st]<<" "<<st+1;
//题目要求输出的下标从1开始
return 0;
}
/*
in:
10
2 4 1 6 3 10 9 7 8 5
out:
10 6
*/
核心代码批注(递归函数):
|---------------------------|--------------------------|
| if(m==n) return; | 边界条件,m最大为n减1(因为代码下标从0开始) |
| if(a[m]>a[st]) st=m; | 进行比较,st更新标记最大数的下标 |
| cmp(m+1); | cmp比较数组递归,比较下一个下标大1的元素 |
| | |
| | |
相关链接:
题目代码: 东方博宜OJ 1683:递归法求最大值 ← 递归-CSDN博客
递归代码: 暂无
题目链接: 1683 - 递归法求最大值-东方博宜OJ