用递归方式查找字符串出现次数最多的字符及数量的方法(递归实现)

请按需调整输出结果:

let str = ‘abcabcacbbbbacabbvvvccccccccccccccccccccccaavbaaaaaab’ // 测试案例
getHighestFrequencyStr(str, ‘’, 0) //输出–“最多出现的字符:c,共出现26次”

function getHighestFrequencyStr(str, target, count) {
let t = str.match(new RegExp(${str.charAt(0)}, ‘g’)).length // 获取第一种字符数量
let NStr = str.replace(new RegExp(${str.charAt(0)}, ‘g’), ‘’) // 不改变源字符串前提下把已查字符去掉后再查询
if (t > count) {
count = t
target = str.charAt(0)
}
if (NStr) { // 通过递归的方式减少重复查找并提升性能
return getHighestFrequencyStr(NStr, target, count)
}
return 最多出现的字符:${target},共出现${count}次
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值