HDOJ-ACM1425 sort 简单hash应用

Posted xiezie

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HDOJ-ACM1425 sort 简单hash应用相关的知识,希望对你有一定的参考价值。

其实快排也可以通过这个问题~不是考点

 

没想到考点是这个,简单hash应用,空间换时间

初始化一个长度为1000001的数组(由于数字的范围为[-500000,500000])

如果存在这个数m,数组下标为m的加一

数组从1000000倒计,值为1的输出

 

很无奈~直接贴别人代码

 

#include<iostream>
int hash[1000001];
int main(){
    int n,m,temp,cnt;
    while(scanf("%d%d",&n,&m)!=EOF){
          memset(hash,0,sizeof(hash));
          for(int i=0;i<n;i++){
                scanf("%d",&temp);
                hash[temp+500000]=1;  
          }
          cnt=0;
          for(int i=1000000;i>=0;i--){
                if(hash[i]==1){
                      if(cnt==m-1){
                             printf("%d\\n",i-500000);             
                             break;      
                      }
                      printf("%d ",i-500000);
                      cnt++;                                             
                } 
          }   
    }
    return 0;
}

 

以上是关于HDOJ-ACM1425 sort 简单hash应用的主要内容,如果未能解决你的问题,请参考以下文章

hdu 1425 sort

hdu1425 sort

杭电1425 sort

hdu 1425:sort

HDU 1425 sort(堆排序/快排)

HDOJ-ACM1012(JAVA)