#2070: Qsort吃到TLE???


xatier (一串電研的阿飄先生)

學校 : 國立臺中第一高級中學
編號 : 4282
來源 : [140.113.17.175]
最後登入時間 :
2014-12-09 21:57:44
c010. 10107 - What is the Median? -- UVa10107 | From: [210.60.107.233] | 發表日期 : 2009-06-10 13:05

我的CODE

 理論上

 

Qsort的時間複雜度是nlog2(n)不是嗎

 

那位什麼我知道TEL

 

#include<stdio.h>
#include<stdlib.h>
int cmp(const void* a,const void* b){
    return *(int*)a-*(int*)b;    //small to big
}
int main(){
    int num[10001];
    int i,now,len;
    i=0;
    len=0;
    double mid;
    while(scanf("%d",&now)!=EOF){
        num[i]=now;
        len++;
        i++;
        qsort(num,len,sizeof(int),cmp);
        if(len%2==0){
            mid=(num[len/2-1]+num[len/2])/2;
        }
        else {
            mid=num[len/2];
        }
        printf("%.0lf\n",mid);
    }    
    return 0;    
}

 
#2073: Re:Qsort吃到TLE???


fei6409 (生平無大志,只求睡飽飽)

學校 : 國立臺灣師範大學附屬高級中學
編號 : 1456
來源 : [1.34.62.240]
最後登入時間 :
2017-03-05 11:53:43
c010. 10107 - What is the Median? -- UVa10107 | From: [118.160.162.225] | 發表日期 : 2009-06-10 20:12

最多會輸入N(N<10000)次,

每次多一個數都做qsort會變成O(N^2*logN)。

 
ZeroJudge Forum