这个求出来不就是中位数吗,怎么不对,求助

P1168 中位数

LHX05 @ 2023-08-14 10:21:22

#include<bits/stdc++.h>
using namespace std;
deque<int> z;
int main ()
{
    double m,y;
    int n,x;
    cin>>n;
    int a[n];
    for(int i=1;i<=n;i++)
    {
        cin>>a[i],z.push_back(a[i]);
        if(a[i]>a[i+1])
        swap(a[i],a[i+1]);
        x=z.size()/2;
        m=a[x];
    }
    y=z.size()%2;
    if(y==0)
    m=(m+a[x+1])/2;
    printf("%.1lf\n",m);
    return 0;
}

by gongziwen @ 2023-08-14 10:23:16

@LHX05

前奇数项


by TimeLimitEnough @ 2023-08-14 10:25:55

@LHX05 你没有理解题意捏,建议把题仔细读一遍


by LHX05 @ 2023-08-14 10:28:33

@TimeLimitEnough 我有亿点看不懂题,所以才没写对


by LHX05 @ 2023-08-14 10:33:16

@TimeLimitEnough 这个题意是什么意思,能指导一下吗


by TimeLimitEnough @ 2023-08-14 10:36:58

@LHX05 就是说对于第1~1(显然这个区间就是第一个数本身),第1~3,第1~5,……第1~n分别求中位数

例如样例1

1 3 5 7 9 11 6

分别求

1
1 3 5
1 3 5 7 9
1 3 5 7 9 11 6

这四个区间的中位数

答案即 1 3 5 6


by WsW_ @ 2023-08-14 10:38:33

@LHX05 请百度


by LHX05 @ 2023-08-14 10:49:24

@TimeLimitEnough 是不是每次都要判断奇数个元素中的中位数呀?


by LHX05 @ 2023-08-14 10:49:50

@TimeLimitEnough 谢谢


|