面试题:字符串中出现次数最多的字符以及出现的次数
Posted 胡金水
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面试题:字符串中出现次数最多的字符以及出现的次数相关的知识,希望对你有一定的参考价值。
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)
以上是关于面试题:字符串中出现次数最多的字符以及出现的次数的主要内容,如果未能解决你的问题,请参考以下文章
寻找一个字符串中连续出现次数最多的子串(面试宝典14.5节面试题1)