java如何高效的实现一个字符串中第一次出现重复字符的位置

曾经在南京一家公司遇到的笔试题,话不多说直接上代码:

/**
 *  java如何高效的实现一个字符串中第一次出现重复字符的位置
 */
public class FindFirstDemo {

    public static void main(String[] args) {
        System.out.println(getFirstIndex("abcdscc"));//5
    }


    public static int getFirstIndex(String str){
        String[] strArray = str.split("");
        for (int i = 0; i <strArray.length ; i++) {
            int num=0;
            int index=0;
            //对于每一个值,都需要从前开始遍历
            while (index<=i){
                if(strArray[index].equals(strArray[i])){
                    num++;
                }
                index++;
            }
            if(num>1){
                //说明此时i索引处是第一次重复了
                return i;
            }
        }

        //没找到就返回-1
        return -1;
    }
}
发布了7 篇原创文章 · 获赞 0 · 访问量 107

猜你喜欢

转载自blog.csdn.net/qq_42288638/article/details/104115391