获取字符串中连续最多的字符以及次数
Posted 沿着路走到底
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了获取字符串中连续最多的字符以及次数相关的知识,希望对你有一定的参考价值。
连续最多的字符
给一个字符串,找出连续最多的字符,以及次数。
例如字符串 `\'aabbcccddeeee11223\'`
连续最多的是 `e` ,4 次。
传统方式
嵌套循环,
找出每个字符的连续次数,并记录比较。
时间复杂度看似是 `O(n^2)`,因为是嵌套循环。
**但实际上它的时间复杂度是 `O(n)`,因为循环中有跳转**。
interface IRes
char: string
length: number
/**
* 求连续最多的字符和次数(嵌套循环)
* @param str str
*/
export function findContinuousChar1(str: string): IRes
const res: IRes =
char: \'\',
length: 0
const length = str.length
if (length === 0) return res
let tempLength = 0 // 临时记录当前连续字符的长度
// O(n)
for (let i = 0; i < length; i++)
tempLength = 0 // 重置
for (let j = i; j < length; j++)
if (str[i] === str[j])
tempLength++
以上是关于获取字符串中连续最多的字符以及次数的主要内容,如果未能解决你的问题,请参考以下文章