算法---在一个字符串中找到第一个只出现一次的字符
2011-06-13 09:18
453 查看
在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。思路如下:利用类似的Hash的索引来找到结果定义一个定长的Hash结构数组,字符作为HashKey,出现一次则Hash数组自增1,这样只要第一个Hash[i] = 1即可判断此为所要找的结果。
算法如下:
算法清晰、简洁。
结束。
算法如下:
/// <summary> /// 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。 /// </summary> /// <param name="ch">目标char数组</param> /// <returns></returns> char Test(char[] ch) { if(ch == null) return '/0'; const int tableSize = 256; int[] hashTable = new int[tableSize]; //初始化Hash for (int i = 0; i < tableSize; i++) { hashTable[i] = 0; } //字符作为HashKey,出现一次自增1 char[] pHashKey = ch; int temp = 0; foreach (char c in pHashKey) { temp = Convert.ToInt32(c); hashTable[temp]++; } //找到结果 for (int j = 0; j < hashTable.Length; j++) { if (hashTable[j] == 1) return (char)j; } return '/0'; }
算法清晰、简洁。
结束。
相关文章推荐
- 算法习题17:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 数据结构——算法之(007)(在一个字符串中找到第一个只出现一次的字符)
- 算法学习七----在一个字符串中找到第一个只出现一次的字符
- 算法十二:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 每天学习一算法系列(17)(在一个字符串中找到第一个只出现一次的字符)
- 算法与数据结构面试题(21)-在一个字符串中找到第一个只出现一次的字符
- 微软算法100道题-----:在一个字符串中找到第一个只出现一次的字符
- 每日一道算法题:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中找到第一个只出现一次的字符
- 在一个字符串中,找到第一个只出现一次的字符,例如:abaccdef,输出b
- 在一个字符串中找到第一个只出现一次的字符
- HWOJ 在一个字符串中找到第一个只出现一次字符
- 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 在一个字符串中找到第一个只出现一次的字符(java实现)
- 第17 题:题目:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 在一个字符串中找到第一个只出现一次的字符