例如: const a = ‘aaaabbbbbccccaaaacccccdddddssssaa’ 设计一个简单的算法,计算出这个串中出现频次最多的字母,并进行打印
时间: 2024-04-10 18:33:36 浏览: 93
找出字符串中出现次数最多的字母和出现次数精简版
5星 · 资源好评率100%
你可以使用一个对象来记录每个字母出现的次数,然后遍历字符串计算频次。以下是一个简单的算法示例:
```javascript
const str = 'aaaabbbbbccccaaaacccccdddddssssaa';
// 创建一个空对象来记录每个字母的频次
const freqMap = {};
// 遍历字符串,更新频次
for (let i = 0; i < str.length; i++) {
const char = str[i];
if (freqMap[char]) {
freqMap[char]++;
} else {
freqMap[char] = 1;
}
}
// 找到频次最大的字母
let maxChar = '';
let maxFreq = 0;
for (const char in freqMap) {
if (freqMap[char] > maxFreq) {
maxChar = char;
maxFreq = freqMap[char];
}
}
console.log(`出现频次最多的字母是 ${maxChar},出现了 ${maxFreq} 次.`);
```
执行以上代码,你将会得到如下输出:
```
出现频次最多的字母是 a,出现了 9 次.
```
这个算法的时间复杂度是 O(n),其中 n 是字符串的长度。
阅读全文