【算法题】第一个只出现一次的字符
来源:互联网 发布:校园网络舆情监管制度 编辑:程序博客网 时间:2024/06/10 04:05
使用哈希表记录字符次数
char FindNoRepeat(char * str){ if (str == NULL||*str=='\0') { return NULL; } hash_map<char, int> hashmap; char *tmp = str; while(*tmp!='\0') { ++hashmap[*tmp]; tmp++; } for (; *str != '\0';str++) { if (hashmap[*str] == 1) { return *str; } } return '\0';}int main(){ char str[1024]; gets_s(str); cout<<FindNoRepeat(str); return 0;}
使用数组实现简单的哈希表:
char是长度为8位的数据类型,共256种可能,但是char类型默认是有符号的,需要转化为无符号型才能作为数组索引
char FindNoRepeat(char * str){ if (str == NULL||*str=='\0') { return NULL; } //hash_map<char, int> hashmap; int hashmap[256];//char有256种可能取值 memset(&hashmap[0],0,sizeof(hashmap)); char *tmp = str; while(*tmp!='\0') { ++hashmap[(unsigned char)*tmp];//char类型默认是有符号型 tmp++; } for (; *str != '\0';str++) { if (hashmap[(unsigned char)*str] == 1) { return *str; } } return '\0';}int main(){ char str[1024]; gets_s(str); cout<<FindNoRepeat(str); return 0;}
阅读全文
0 0
- 【算法题】第一个只出现一次的字符
- 算法题/第一个只出现一次的字符
- 第一个只出现一次的字符[算法]
- C++ 算法之 第一个只出现一次的字符
- 算法题目-第一个只出现一次的字符
- 算法题目---第一个只出现一次的字符
- 【算法】找到只出现一次的第一个字符
- 算法复习:第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第一个只出现一次的字符
- 第二十天:关于上一篇,写代码中遇到的困难,总结
- unsigned short中的一个大坑
- Spring(2)
- b-树原理分析
- AC自动机-理解
- 【算法题】第一个只出现一次的字符
- Android monkey测试
- Spring(3)
- MongoDB(一)
- Spring(4)
- hibernate(1)
- 欢迎使用CSDN-markdown编辑器
- hibernate(2)
- Git首次提交文件夹