现在的位置: 首页 > 综合 > 正文

84_1 最快的方式把其中重复的元素找出来

2018年01月20日 ⁄ 综合 ⁄ 共 564字 ⁄ 字号 评论关闭

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

抱歉!评论已关闭.