题目的主要信息:

  • 随机输入6个整数到数组中,输出其中最小值和最大值

具体做法:

题目数组中已经存在6个元素了,我们让最大值和最小值先保存第一个元素的值,然后依次与后面的每个值比较,最大值就取每次比较的较大值,最小值就取每次比较的较小值。

alt

#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)O(n)O(n)nnn为数组长度,遍历一次数组
  • 空间复杂度:O(1)O(1)O(1),无额外空间