码迷,mamicode.com
首页 > 其他好文 > 详细

HDOJ-ACM1425 sort 简单hash应用

时间:2016-06-19 01:20:02      阅读:135      评论:0      收藏:0      [点我收藏+]

标签:

技术分享

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

 

没想到考点是这个,简单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应用

标签:

原文地址:http://www.cnblogs.com/xiezie/p/5597271.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!