编程之美2.10寻找数组中的最大值和最小值代码
2014-03-19 18:40
405 查看
P161 分治法求解,复杂度为f(N) = 1.5N-1;
代码如下:比较简单
代码如下:比较简单
#include <iostream> using namespace std; void FindMaxAndMin(int num[],int l,int r,int &minNum,int &maxNum); int main() { int n = 6; int num[] = {6,5,8,3,9,7}; int minNum,maxNum; FindMaxAndMin(num,0,n-1,minNum,maxNum); for(int i=0 ; i<n ; i++){ cout << num[i] << " "; } cout << endl; cout << minNum << " " <<maxNum<< endl; return 0; } void FindMaxAndMin(int num[],int l,int r,int &minNum,int &maxNum) { int minl,maxl,minr,maxr; if(r - l == 0){ minNum = num[r]; maxNum = num[r]; return ; } if(r - l == 1){ if(num[r] > num[l]){ maxNum = num[r]; minNum = num[l]; } else{ maxNum = num[l]; minNum = num[r]; } return ; } FindMaxAndMin(num,l,(l+r)/2,minl,maxl); FindMaxAndMin(num,1+(l+r)/2,r,minr,maxr); //merge if(minl < minr){ minNum = minl; } else{ minNum = minr; } if(maxl > maxr){ maxNum = maxl; } else{ maxNum = maxr; } }
相关文章推荐
- 寻找数组中的最大值和最小值(编程之美2.10)
- 编程之美2.10 寻找数组中的最大值和最小值
- 寻找数组中的最大值和最小值(编程之美2.10,包括最大值和次大值)
- 《编程之美》2.10 寻找数组中的最大值和最小值
- 编程之美2.10 寻找数组的最大值和最小值
- 编程之美2.10 寻找数组中的最大值和最小值
- 编程之美2.10寻找数组中的最大值和最小值扩展问题Java版
- 编程之美2.10 寻找数组中的最大值和最小值
- 编程之美2.10:寻找数组中的最大值和最小值
- 编程之美2.10 寻找数组中的最大值和最小值
- 寻找数组中的最大值和最小值(编程之美2.10,包括最大值和次大值)
- 编程之美2.10 寻找数组中的最大值和最小值
- 寻找数组中的最小值和最大值——编程之美2.10
- 2.10 寻找数组中的最大值和最小值
- 编程之美_2.10_寻找数组中的最大值和最小值
- 《编程之美》学习笔记——2.10寻找数组中的最大值和最小值
- [编程之美] PSet2.10 寻找数组中的最大值和最小值
- 编程之美_2.10_寻找数组中的最大值和最小值
- 编程之美:第二章 数字之魅 2.10寻找数组中的最大值和最小值
- js同时寻找数组中最大值和最小值,编程之美解法三