• 2016校招真题之首个重复字符


    1、题目描述

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

    测试样例:
    "qywyer23tdd",11
    返回:y
     

    2、代码实现

     1 package com.wcy.october;
     2 
     3 /**
     4  * 时间:2016年10月16日
     5  * 题目:首个重复字符
     6  * 题目描述:对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。
     7  * 保证字符串中有重复字符,字符串的长度小于等于500。
     8  * 测试样例:
     9  * "qywyer23tdd",11
    10  * 返回:y
    11  */
    12 public class FirstRepeat {
    13 
    14     /**
    15      * 求第一次重复出现的字符
    16      * @param A 字符串(不一定全为字母)
    17      * @param n 字符串长度
    18      * @return 返回第一个重复出现的字符
    19      */
    20     public char findFirstRepeat(String A, int n) {
    21         for (int i = 0; i < A.length(); i++) {
    22             for (int j = 0; j < i; j++) {
    23                 if (A.charAt(i) == A.charAt(j)) {
    24                     return A.charAt(j);
    25                 }
    26             }
    27         }
    28         return '0';
    29     }
    30     
    31     /**
    32      * 用户页面测试
    33      * @param args
    34      */
    35     public static void main(String[] args) {
    36         FirstRepeat test = new FirstRepeat();
    37         char result = test.findFirstRepeat("qywyer23tdd", 11);
    38         System.out.println(result);
    39     }
    40 }
  • 相关阅读:
    8.1 管道符| 使用技巧
    7.1 elementui的radio无法选中问题
    2.0 es6数组操作
    小练习-双数日期
    匿名函数、三元表达式、列表生成式
    sys.argv
    常用模块 os,sys,
    Python操作数据库
    Python time模块
    加密模块hashlib
  • 原文地址:https://www.cnblogs.com/wangchaoyuan/p/5966331.html
Copyright © 2020-2023  润新知