字符串去重
来源:互联网 发布:linux多进程编程实例 编辑:程序博客网 时间:2024/04/19 19:14
这个算法并不是最优的。但是在内存空间充足时效率是最高的。
eg:
input: str = "aabbccassbsc";
output: str = "abcs";
思路:1.创建一个hashmap 因为都是ASCII的字符 就简单使用 char hash[100]来用即可。
2.再创建一个够大的字符串备份。str_bakup 把去重的结果放到此数组中。
3.最后cpy。
遍历次数:2n; 空间复杂度:2*SIZE+100;
void str_distinct(char * str){char hash[100] = {0}; //标记已存在的 hashmapint len = strlen(str); char str_bakup[60]; //备份的字符串int cnt = 0;for(int i = 0; i < len; i++) {if( !hash[*(str+i)-'a'] ) {hash[*(str+i)-'a'] = 1;*(str_bakup+cnt++) = *(str+i);}}*(str_bakup+cnt) = '\0';strcpy(str, str_bakup);}
- 字符串去重
- 字符串去重
- java 字符串去重
- js 字符串去重
- 字符串去重/C#
- 数字、字符串去重
- 字符串去重
- TreeSet去重字符串
- 字符串去重
- 字符串数组去重
- Java字符串去重
- 字符串数组去重
- 字符串去重
- js字符串去重
- 字符串去重 java
- 字符串去重
- 字符串右旋 、 字符串去重
- C++ 字符串数组去重
- 一路向西DVD
- Android手机获取手机唯一识别号
- 内存值异常:_ASSERTE(_BLOCK_TYPE_IS_VALID(pHead->nBlockUse))
- 控制对话框的关闭
- 别错误使用 [NSNotificationCenter defaultCenter] 的 object
- 字符串去重
- oracle dblink创建过程
- 电源管理的一些文件节点,以备后用
- 一台机器启动两个tomcat
- 紫薇花开的季节(二)
- http协议详解
- java调用.net的webService出现乱码的解决方案
- mysql导入导出sql
- repo git非主流错误