//寻找n个元素中的最大值和最小值
//若n为奇数,最大值和最小值的初值设为第一个元素的值,若n为偶数,先对前两个元素进行比较,确定最大值和最小值
//对之后输入的元素两两比较然后再与最大值最小值比较,总比较次数最多为3n/2次
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int n; cin >> n;
int max,min;
int fvalue,svalue;
if(n & 1)
{
cin >> fvalue; n=n-1;
max = min = fvalue;
while(n)
{
cin >> fvalue >> svalue;
n=n-2;
if(fvalue > svalue)
{
if(max < fvalue) max = fvalue;
if(min > svalue) min = svalue;
}
else
{
if(max < svalue) max = svalue;
if(min > fvalue) min = fvalue;
}
}
}
else
{
cin >> fvalue >> svalue;
n=n-2;
if(fvalue > svalue)
{
max = fvalue;
min = svalue;
}
else
{
max = svalue;
min = fvalue;
}
while(n)
{
cin >> fvalue >> svalue;
n=n-2;
if(fvalue > svalue)
{
if(max < fvalue) max = fvalue;
if(min > svalue) min = svalue;
}
else
{
if(max < svalue) max = svalue;
if(min > fvalue) min = fvalue;
}
}
}
cout << min << " " << max << endl;
cout << "Hello World!" << endl;
return 0;
}
最小值和最大值(3n/2)
最新推荐文章于 2021-05-24 22:36:47 发布