获取字符串中连续最多的字符以及次数

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++
            

      

以上是关于获取字符串中连续最多的字符以及次数的主要内容,如果未能解决你的问题,请参考以下文章

12字符串中连续最多的字符以及次数

Java,输入一字符串,统计连续出现最多的字符,以及出现次数。 【编程】

求一个字符串中连续出现次数最多的子串

读取一个文件,获取其中出现次数最多的前五个字符以及次数

读取一个文件,获取其中出现次数最多的前五个字符以及次数

找出字符串中连续出现次数最多的子串