研发埠

标题: [Microsoft面试]题目:在一个字符串中找到第一个只出现一次的字符。 [打印本页]

作者: 陈荣莲    时间: 2013-8-16 10:58
标题: [Microsoft面试]题目:在一个字符串中找到第一个只出现一次的字符。
如输入abaccdeff,则输出b。 要求时间复杂度是O(n)。如果有多对数字的和等于输入的数字,输出任意一对即可。分析:这道题是2006年google 的一道笔试题。
作者: 秦静静    时间: 2013-8-16 11:11
Again, thisdepends on what is “char”. Let’s assume it as ASCII.char firstSingle(char * str) {  int a[255];  memset(a, 0, 255*sizeof(int));  char *p=str;  while (*p!=’\0’) {    a[*p] ++;    p++;  }  p = str;  while (*p!=’\0’) {    if (a[*p] == 1) return *p;  }  return ‘\0’; // this must the one thatoccurs exact 1 time.}




欢迎光临 研发埠 (http://bbs.yanfabu.com/) Powered by Discuz! X3.2