一、问题描述算法
给出一串字符串,去掉重复的便可;数组
例:str = "abacdefabcde";ide
去重后:str = "abcdef";spa
算法思想:就是遍历一遍字符串,用一个alpha[]数组,将字符串的字符当作下标,出现一次后,将再也不知足条件,保证了去重;
blog
二、代码实现字符串
#include<stdio.h> void main(void){ char str[] = "abacdefabcde"; char alpha[128] = {0}; //辅助空间,桶的思想 char res[80] = {0}; //存放去重后的结果字符串 int i; int t = 0; for(i = 0; str[i]; i++){ if(alpha[str[i]] == 0){ res[t++] = str[i]; alpha[str[i]]++; } } for(i = 0; i < t; i++){ printf("%c", res[i]); } printf("\n"); }
三、结果截图get
四、算法分析it
时间复杂度为:O(n);io