企业网站推广的线上渠道有哪些,专业的做网站软件,哈尔滨营销网站建设公司哪家好,企业网上申报系统description
老板有一袋金块#xff08;共n块#xff0c;2≤n≤100#xff09;#xff0c;两名最优秀的雇员每人可以得到其中的一块#xff0c;排名第一的得到最重的金块#xff0c;排名第二的则得到袋子中最轻的金块。
输入一个正整数N#xff08;2≤N≤100#xff…description
老板有一袋金块共n块2≤n≤100两名最优秀的雇员每人可以得到其中的一块排名第一的得到最重的金块排名第二的则得到袋子中最轻的金块。
输入一个正整数N2≤N≤100和N个整数用分治法求出最重金块和最轻金块。
本题要求实现2个函数分别使用分治法在数组中找出最大值、最小值。
函数接口定义 int max(int a[ ], int m, int n); int min(int a[ ], int m, int n); 递归函数max用分治法求出a[m]~a[n]中的最大值并返回。
递归函数min用分治法求出a[m]~a[n]中的最小值并返回。
裁判测试程序样例 #include stdio.h #define MAXN 101
int max(int a[ ], int m, int n); int min(int a[ ], int m, int n);
int main(void) { int i, n; int a[MAXN];
scanf (%d, n);
if(n 2 n MAXN-1 ){for(i 0; i n; i){ scanf (%d, a[i]); }printf(max %d\n, max(a, 0, n-1));printf(min %d\n, min(a, 0, n-1));
}else{printf(Invalid Value.\n);
}return 0;}
/* 请在这里填写答案 */
输入样例
6 3 9 4 9 2 4
输出样例
max 9 min 2
solution
/* 请在这里填写答案 */
int max(int a[ ], int m, int n){if(m n) return a[m];else{int mid (m n) / 2;int lMax max(a, m, mid);int rMax max(a, mid 1, n);if(lMax rMax) return lMax;else return rMax;}
}
int min(int a[ ], int m, int n){if(m n) return a[m];else{int mid (m n) / 2;int lMin min(a, m, mid);int rMin min(a, mid 1, n);if(lMin rMin) return lMin;else return rMin;}
}