算法8:一个整数数组里怎么同时找最大和最小的数,尽量优化比较次数
来源:互联网 发布:篆刻印章软件 编辑:程序博客网 时间:2024/05/03 14:11
解题思路
n个大小的整数数组
思路1:遍历整个数组分别得出最大值和最小值,比较次数为2n
思路2:取两个数进行比较,大的与当前最大值比较,小的与当前最小值比较,则没两个数要比较3次,比较次数为1.5n
c++代码
//取两个数进行比较,小的数跟当前最小值比较,大的数跟当前最大值比较void GetMinMax(int* buffer,int& bufferLen,int& max, int& min){ if(buffer == NULL || bufferLen <= 0) { cout<<"buffer is empty or wrong"<<endl; return; } int i = 0; int j = bufferLen -1; min = buffer[0]; max = buffer[0]; while(i <= j) { if(buffer[i] < buffer[j]) { if(buffer[i] < min) { min = buffer[i]; } if(buffer[j] > max) { max = buffer[j]; } } else { if(buffer[j] < min) { min = buffer[j]; } if(buffer[i] > max) { max = buffer[i]; } } i++; j--; }}
测试代码
int _tmain(int argc, _TCHAR* argv[]){ int buffer[10] = {9,6,1,7,10,2,4,5,8,-1}; int bufferLength = 10; int min = 0; int max = 0; GetMinMax(buffer,bufferLength,max,min); cout<<"min = "<<min<<" max = "<<max<<endl; return 0;}
0 0
- 算法8:一个整数数组里怎么同时找最大和最小的数,尽量优化比较次数
- 同时找数组里的最大最小数——分治思想
- 同时寻找最大数和最小数的最优算法以及寻找最大的两个数所需的最少比较次数
- 同时寻找最大数和最小数的最优算法以及寻找最大的两个数所需的最少比较次数
- 在一N个整数查找序列中的最大数和最小数, 及 所需要的比较次数?
- 同时寻找最大数和最小数的最优算法
- 同时寻找最大数和最小数的最优算法
- 关于在一个无序数组中的数求最大值和最小值的最小比较次数
- 从一个数组中同时找出最大最小数-算法导论第九章
- 冒泡排序(优化版)的比较次数和交换数字次数 逆序数+树状数组
- 同时寻找最大数和最小数的最优算法 第二大数
- 同时寻找最大数和最小数的最优算法 第二大数
- 在整型数组里找唯一的一个和其它元素不同的整数
- 求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
- 求解一个数组里等于给定整数和的两个数的O(n)时间复杂度算法
- 输入整数序列,最小的和第一个数对换,最大的和最后一个数对换
- 定义一个由整数组成的数组,然后输入一个整数X,如果X不在此数组中,返回小于X的最大数的位置i和大于X的最小数的位置j
- JAVA数组找最大和最小的方法
- 欢迎使用CSDN-markdown编辑器
- VS 调试技巧
- 【Unity3d】设计自己的计时类
- C++实验2:项目二:分段函数求值
- CORS
- 算法8:一个整数数组里怎么同时找最大和最小的数,尽量优化比较次数
- 源代码管理工具-SVN
- Swift 关于字符串 Optional("123")输出的问题。
- Maven详解之仓库------本地仓库、远程仓库
- docker容器时区与宿主机不一致的解决方法
- React native学习第三章:样式
- 很迷茫,刚入门的初级程序员用ofbiz框架做金融IT的银行项目好吗?望各位前辈指点。
- 影像金字塔(pryUp、pryDown)
- WEB APP 数据存储-LokiJS