如何设计一个高效算法,找到第一次重复出现的字符?

看到这个题目, 然后发现里面一个算法, 颇耐人寻味, 然后就记载下来了。

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。

测试样例:
"qywyer23tdd"

返回:y

    private static String findFirstRepeatChar(String string) {
        int[] charset = new int[8];
        char[] chars = string.toCharArray();
        for (char c : chars) {
            int row = c / 32;
            int col = c % 32;
            if ((charset[row] & 1 << col) != 0) {
                return String.valueOf(c);
            } else {
                charset[row] |= (1 << col);
            }
        }
        return "-1";
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,268评论 0 4
  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 3,124评论 0 7
  • 字符串匹配KMP算法详解 1. 引言 以前看过很多次KMP算法,一直觉得很有用,但都没有搞明白,一方面是网上很少有...
    张晨辉Allen阅读 2,430评论 0 3
  • Python自带了一个WEB服务器,这里的“Web服务器模块”有如下三种:BaseHTTPServer: 提供基本...
    bananaTan阅读 591评论 0 0
  • 昨晚做了一晚的怪梦,梦里面有个男人像个幽灵般时刻跟着我,无论去到哪里都跟在我左右,到后来更加发展到把我禁锢在一个...
    我的世界只有黑白阅读 194评论 1 0