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; }