题目的主要信息:
- 随机输入6个整数到数组中,输出其中最小值和最大值
具体做法:
题目数组中已经存在6个元素了,我们让最大值和最小值先保存第一个元素的值,然后依次与后面的每个值比较,最大值就取每次比较的较大值,最小值就取每次比较的较小值。
#include <iostream>
using namespace std;
int main() {
int arr[6] = { 0 };
int len = sizeof(arr) / sizeof(int);
for (int i = 0; i < len; i++) {
cin >> arr[i];
}
int max = arr[0]; //最大最小分别都记录第一个数
int min = arr[0];
for(int i = 1; i < 6; i++){ //遍历后面5个
max = arr[i] > max ? arr[i] : max; //依次比较,取较大值
min = arr[i] < min ? arr[i] : min; //依次比较,取较小值
}
cout << min << " " << max << endl;
return 0;
}
复杂度分析:
- 时间复杂度:O(n),n为数组长度,遍历一次数组
- 空间复杂度:O(1),无额外空间