二分求最大值
#include<iostream>
using namespace std;
int getMax(int array[], int begin, int end){
int Max1 = 0;
int Max2 = 0;
if (begin == end) {//划分到最后,剩余1个数
return array[begin] = array[end];
}
else if(begin+1==end){//划分到最后,剩余2个数
return array[begin]> array[end]?array[begin]: array[end];//谁大返回谁。
}
else{//如果剩余的数多于2个,划分成两段,选出这两段的最大值
int mid=(begin+end)/2;
Max1=getMax(array,begin,mid);
Max2=getMax(array,mid+1,end);
return Max1>Max2?Max1:Max2;
}
};
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步