对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符
2016-09-23 10:43
841 查看
题目描述
对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。测试样例:"qywyer23tdd",11
返回:y
package com.cn.yqjr;import java.util.ArrayList;import java.util.List;public class FirstRepeat {public static void main(String[] args) {System.out.println(findFirstRepeat("pmedmitjtckhxwhvpwemznhmhzhpueainchqrftkmbjlradhmjekcqzansyzkvqhwnrdgzdbzewdmxkzrscikdaugbvygntrifnolehdtrqjlasofuvzeijbmzehkxknmjekcxswqldknysfsxrqaqzp",152));}//返回:y public static char findFirstRepeat(String A, int n) { String[] str=A.split(""); for(int x=0;x<n;x++){ int index=0; int num=0; //对于每一个值,都需要从前开始遍历 while(index<=x){ if(str[index].equals(str[x])){ num++; } index++; } //该值出现了两次,说明重复了 if(num>1){ char flag='x'; flag=str[x].toCharArray()[0]; return flag; } } //返回该值说明已经没有重复的 return 'p'; }}
相关文章推荐
- 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
- C语言练习题每练 5 对于一个字符串,找到第一次重复出现的字符。
- 算法十二:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 找到不重复字母在一个字符串第一次出现的索引 三种方法
- 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
- 对于一个字符串,请设计一个高效算法,计算其中最长回文子串的长度。
- 利用哈希表的原理,找到一个字符串中第一次出现的一次的字符
- 算法与数据结构面试题(21)-在一个字符串中找到第一个只出现一次的字符
- 算法题:在一个字符串中找到只出现一次的字符。如输入abaccdeeff,则输出bd。
- 哈希表对字符串的高效处理1:在一个字符串中找到第一个只出现一次字符
- 设计一个算法移除字符串中的重复字符,并写出测试用例。
- 算法习题17:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b
- 算法---在一个字符串中找到第一个只出现一次的字符
- 微软算法100道题-----:在一个字符串中找到第一个只出现一次的字符
- 每天学习一算法系列(17)(在一个字符串中找到第一个只出现一次的字符)
- 在一个字符串中找出第一次重复出现的字符
- 求一个字符串中出现次数最多的字符的高效算法
- 定义一个字符串类DelSameStr,从左到右对字符串中每个字符删除其后所有相同的字符,只留下第一次出现的那一个。例如,若字符串为”cocoon”,删除重复出现的字符后,其结果是字符串”con”
- 每日一道算法题:在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
- 设计算法并写出代码移除字符串中重复的字符,不能使用额外的缓存空间。注意: 可以使用额外的一个或两个变量,但不允许额外再开一个数组拷贝。