算法4-hash算法
2019-02-12 本文已影响0人
李永开
在一个字符串中找到 第一个
只出现一次
的字符.
例如:输入abaccdeff
,输出b
.
b
d
e
都只出现了一次,但是b
是第一个出现的.
char str[] = "gabaccdeff";
NSMutableArray *muArr = [NSMutableArray array];
for(int i = 0; i < 200; i ++)
{
[muArr addObject:@0];
}
for (int i = 0; i <strlen(str) -1; i ++)
{
int index = (int)str[i];
NSNumber *num = muArr[index];
int value = [num intValue];
value ++;
muArr[index] = [NSNumber numberWithInt:value];
}
for (int i = 0; i <strlen(str) -1; i ++)
{
int index = (int)str[i];
NSNumber *num = muArr[index];
if([num isEqual:@1])
{
NSLog(@"%c",(char)index);
break;
}
}
打印结果:
2019-02-12 20:01:44.644911+0800 demo[21788:3588086] g
- 总结: 其实就是用空间换时间.