编程之美2.10 寻找数组的最大值和最小值
2014-02-20 17:36
295 查看
问题:寻找数组中的最小值和最大值。
比较的次数是:3/2*n
<span style="font-size:18px;">void findMinMaxValue(int *arr,int n,int &min,int &max) { if(arr==NULL || n<=0) { cout<<"the input is error"<<endl; exit(0); } if(n<2) { min=arr[0];max=arr[0]; return; } int cur=2; if(arr[0]>arr[1]) { min=arr[1]; max=arr[0]; }else { min=arr[0]; max=arr[1]; } while(cur<n) { if(cur+1<n) { if(arr[cur+1]>arr[cur]) { if (arr[cur+1]>max) { max=arr[cur+1]; } if (arr[cur]<min) { min=arr[cur]; } }else { if(arr[cur]>max) { max=arr[cur]; } if(arr[cur+1]<min) { min=arr[cur+1]; } } cur+=2; }else { if(arr[cur]>max) { max=arr[cur]; } if(arr[cur]<min) { min=arr[cur]; } cur++; } } } </span>
比较的次数是:3/2*n
相关文章推荐
- 《编程之美》
- 2012年终碎语,编程之美
- 程序员编程艺术3:寻找最小的k个数
- 编程之美2013全国挑战赛资格赛第1题
- 编程之美2013全国挑战赛资格赛第3题
- 《编程之美》——中国象棋将帅问题
- 《编程之美》——求二叉树中节点的最大距离(非递归)
- 《编程之美》——求二叉树中节点的最大距离(非递归)
- 《编程之美》——中国象棋将帅问题
- [编程之美2.1]求二进制数中1的个数
- [编程之美2.12]快速寻找满足条件的两个数及leetcode的3 sum closest 和 4 sum解析
- [编程之美2.14]求子数组之和的最大值
- [编程之美2.2]不要被阶乘吓到
- [编程之美2.4]1的数目
- [编程之美3.1]字符串移位包含的问题
- [编程之美2.17]数组循环移位
- [编程之美3.8]求二叉树节点的最大距离
- [编程之美3.9]重建二叉树
- [编程之美3.10]分层遍历二叉树
- 编程之美-2.7最大公约数问题java解法