美文网首页
算法4-hash算法

算法4-hash算法

作者: 李永开 | 来源:发表于2019-02-12 20:02 被阅读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

    • 总结: 其实就是用空间换时间.

    相关文章

      网友评论

          本文标题:算法4-hash算法

          本文链接:https://www.haomeiwen.com/subject/phzkeqtx.html