27.数的比较
描述:

思想:
分别计算出中位数和平均数的大小,然后进行比较,这里为了避免小数带来的影响,统一对数据进行乘以n的操作。
代码:
#include <any>
#include <bits/stdc++.h>
using namespace std;
int main() {
// 中位数:排序后位于中间的数
// 平均数:全部数的和除以数的个数
int n;
cin >> n;
vector<int> dates(n);
long long sum = 0;
for(int i = 0;i<n;i++){
cin >> dates[i];
sum += dates[i];
}
long long average = sum;
sort(dates.begin(),dates.end());
long long median = dates[n/2]*n;
if(median > average) swap(median,average);
int count = 0;
for(int i = 0;i<n;i++){
if(dates[i]*n >= median && dates[i]*n <= average){
count++;
}
}
cout << count << endl;
return 0;
}

浙公网安备 33010602011771号