算法提高 題目1 最大最小值
時間限制:1.0s 記憶體限制:1.0GB
問題描述
給定 N 個整數,請你找出這 N 個數中最大的那個和最小的那個。
輸入格式
第一行包含一個正整數 N 。(1 ≤ N ≤ 10000)。
第二行為 N 個用空格隔開的整數,每個數的絕對值不超過 1000000。
輸出格式
輸出僅一行,包含兩個整數 x,y,x 表示 N 個數中的最大值,y 表示 N 個數中的最小值。x,y 之間用一個空格隔開。
樣例輸入
4
2 0 1 2
樣例輸出
2 0
分析:建立兩個變量,一個存最大值,一個存最小值,為了防止初值幹擾結果,将最大值的初值設為-1000001,最小值的初值設為1000001。
同時,由于不需保留這組數的内容,為了節省空間,并不需要建立一個數組去存這組數,隻用一個變量存每一次輸入的值就夠了,代碼如下:
#include <iostream>
using namespace std;
int main()
{
int N;
int a;
int max = -1000001, min = 1000001;
cin >> N;
for(int i = 0; i < N; i++)
{
cin >> a;
if(max < a) max = a;
if(min > a) min = a;
}
cout << max << " " << min << endl;
return 0;
}