84.第4组百度面试题
2010年3道百度面试题[相信,你懂其中的含金量]
1.a~z包括大小写与 0~9组成的N个数,用最快的方式把其中重复的元素挑出来。

/*
84.第4组百度面试题
2010年3道百度面试题[相信,你懂其中的含金量]
1.a~z包括大小写与 0~9组成的N个数,用最快的方式把其中重复的元素挑出来。

用最快的方式寻找重复的 所以内存没有考虑太多。
a-z 0-9 都可以256表示 所以用hash
O(m) m是整个输入的大小
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
void findSameChar(char* test)
{
char temp[256];
char *cur=test;

memset(temp,0,sizeof(temp));
for(;*cur!='\0';cur++)
{
if(temp[*cur]==1)
{
printf("%c is a repeat char\n",*cur);
temp[*cur]=-1;//不再打印重复的
}
else if(temp[*cur]!=-1)
{
temp[*cur]++;
}
}
}


int main()
{
char test[]="d9s1fk3eG42dgeKrey2wMr8tw7Ge";
findSameChar(test);
return 0;
}