Java中如何提取字符串中出现最多的字符
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java中如何提取字符串中出现最多的字符相关的知识,希望对你有一定的参考价值。
Java中如何提取字符串中出现最多的字符
感觉这个题目的思想和去年秋季校园招聘阿里巴巴(西安)的第一道编程题很像。你可以先看看。
import java.util.HashMap;
import java.util.Map;
public class Test
int length;
public Character theMostCharOf(String string)
Character character = string.charAt(0);
int maxTimes = 1;
Map<Character, Integer> map = new HashMap<Character, Integer>();
for (int i = 0; i < string.length(); i++)
char c = string.charAt(i);
if(null == map.get(c))map.put(c, 1);
else
int length = map.get(c)+1;
map.put(c, length);
if(length > maxTimes)
maxTimes = length;
character = c;
this.length = maxTimes;
return character;
public static void main(String[] args)
Test test = new Test();
char c = test.theMostCharOf("xsakjnakbashkjnxajkvhkdcnajkxhsjkac");
System.out.println(c + ":" + test.length);
参考资料:答案:k:7
参考技术A 先把字符串split成N个字符再用每个字符循环得到出现次数
然后比较……
笨方法哈
面试题:字符串中出现次数最多的字符以及出现的次数
java版:
public static void test() {
Scanner scanner = new Scanner(System.in);
String scannerStr = scanner.nextLine().trim();
scanner.close();
int maxLength = 0;
StringJoiner maxStr = new StringJoiner("|");
while (scannerStr.length() > 0) {
// 截取第一个字符
String firstChar = scannerStr.substring(0,1);
int length = scannerStr.length();
// 替换所有第一个字符
scannerStr = scannerStr.replaceAll(firstChar, "");
// 判断:总长度 - 去掉第一个字符后的长度 >= 已知的最大长度
if (length - scannerStr.length() >= maxLength) {
// 计算第一个字符出现的次数
maxLength = length - scannerStr.length();
// 记录出现最多的字符
maxStr.add(firstChar);
}
}
System.out.println("出现次数最多的字符是:" + maxStr.toString() + ",出现的次数:" + maxLength);
}
js版本:
function test(){
var str = "aaabbbcc";
var maxLength = 0;
var maxStr = "";
while(str.length > 0){
// 获取str长度
var strLength = str.length;
// 截取第一个字符
var strSub = str.substring(0,1);
// 将第一个字符全部替换
str = str.replaceAll(strSub,"");
// 判断总长度 - 截取后的总长度,是否大于已选出的最大长度
if(strLength - str.length >= maxLength){
// 计算字符出现次数
maxLength = strLength - str.length;
// 记录出现的字符
maxStr = maxStr + "|" + strSub;
}
}
console.log(maxStr,maxLength)
}
以上是关于Java中如何提取字符串中出现最多的字符的主要内容,如果未能解决你的问题,请参考以下文章
Java,输入一字符串,统计连续出现最多的字符,以及出现次数。 【编程】