分治与递归:寻找最大元问题
2017-10-30 18:37
253 查看
#include <iostream> using namespace std; int find_max(int a[],int i,int j) { if(i==j) return a[i]; if(i<j) { int mid=(i+j)/2,max1,max2; max1=find_max(a,i,mid); max2=find_max(a,mid+1,j); return max1>max2?max1:max2; } } int main() { int a[10],n,i; cin>>n; for(i=0;i<n;i++) cin>>a[i]; cout<<find_max(a,0,n-1); return 0; }
相关文章推荐
- [分治递归]解决最大子序列和问题
- 集合最大元问题(递归与分治)——算法设计与分析
- 分治法对最大连续和以及归并排序,分治与递归实质把问题区间区域分割成几个小区间或者小分区,一直下钻到一个元素小区解决问题
- 《算法导论》学习心得(一)——分治求最大子数问题
- 递归分治-求集合最大元
- 最大值最小化问题(分治解法)
- 递归和分治策略之排列问题
- 分治与递归:棋盘覆盖问题
- 分治与递归-棋盘覆盖问题
- 递归和分治思想的典型应用—汉诺塔问题
- 寻找最大排列问题
- 棋盘覆盖问题-递归分治
- 寻找一个合适递归时,问自己这么一个问题...
- python递归分治求最大子数组失败
- 杭电1003——Max Sum(最大连续子序列和、递归分治)
- 递归求数组最大最小值(分治思想)
- 最大值最小化问题——分治
- 高效算法设计_递归与分治(贷款,最大值最小化)
- 01-复杂度1 最大子列和问题 (20分)分治
- 分治法解决寻找数组中最大最小值的问题