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

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

作者: 小草房Fang | 来源:发表于2018-04-24 17:54 被阅读790次

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

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

    测试样例:
    "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";
        }
    

    相关文章

      网友评论

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

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