去哪儿笔试题:首个重复字符

去哪儿.jpeg

题目

对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。
给定一个字符串 (不一定全为字母) A 及它的长度 n 。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于 500。

测试样例:

"qywyer23tdd",11

返回:y

思路&答案

用哈希表解决,代码如下:


        import java.util.HashMap;
        import java.util.Scanner;

        public class Main {
            public static void main(String[] args) {
                Scanner scan = new Scanner(System.in);
                String str = scan.next();
                int num = scan.nextInt();
                char[] c = str.toCharArray();
                HashMap<Character, String> map = new HashMap<>();
                for (int i = 0; i < num; i++) {
                    if (map.containsKey(c[i])) {
                        System.out.println(map.get(c[i]));
                        return;
                    }
                    map.put(c[i], String.valueOf(c[i]));
                }
            }
        }

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第5章 引用类型(返回首页) 本章内容 使用对象 创建并操作数组 理解基本的JavaScript类型 使用基本类型...
    大学一百阅读 3,270评论 0 4
  • 1、用C语言实现一个revert函数,它的功能是将输入的字符串在原串上倒序后返回。 2、用C语言实现函数void ...
    希崽家的小哲阅读 6,354评论 0 12
  • 已经走过了26个生日,在这个年龄,面临的应该是来自各种各样的催婚吧。逃避着,微笑着,也难过着。我一直在等那个可以温...
    妞子很忙_阅读 356评论 0 0
  • 蓬头稚子11阅读 154评论 0 0
  • 日隐西山秋虫起,乌鹊归巢人入梦。 月色如丝风似水,萧萧落木影徘徊。
    桦丁阅读 196评论 0 0