易联网站制作衡阳seo外包
前端基础算法面试题,一个字符串中,出现最多的字符以及出现的次数。
1.首先对字符串转换成字符串数组,然后对字符串数组进行排序,得到一个有序的数组
2.然后对排序后的字符串数组,进行查找
3.每次找到字符出现的最后的位置,然后进行计数
4.得到最终结果
function getMaxCount(str) {if (!str) return "";let maxCount = 0,maxCountStr = "";str = [...str].sort().join("");for (let i = 0; i < str.length; i++) {let idx = str.lastIndexOf(str[i]);if (maxCount < idx - i + 1) {maxCount = idx - i + 1;maxCountStr = str[i];}i = idx;}return `最多的字符:${maxCountStr}, 次数:${maxCount}`;
}
方法2:
1.通过Object对象记录每个字符串出现的次数
2.通过记录的Object对象进行比对,得到最大值以及最多的字符串
3.获取结果,实现方式如下:
function getMaxStr2(str) {if (!str) return "";let maxCount = 0,maxCountStr = ""