day198-字符串连续出现最多的字符

要点

  1. 统计出现次数。
  2. 连续出现次数。
  3. 时间复杂度尽量最小。
'abcaakjbb' => {'a':2,'b':2}
'abbkejsbcccwqaa' => {'c':3}

代码

let str = 'abcaakjbb'
// 过程
let result = {}
let flag = 0
let strArr = str.split('')
let letterTimes = strArr.reduce((acc, cur, index) => {
if (!acc[cur]) {
acc[cur] = 1 // 不存在,就创建键值对,初始值1
}
if (strArr[index + 1] === cur) {
acc[cur] += 1
}
// 比较次数大小
if (acc[cur] > flag) {
flag = acc[cur]
}
acc[]
return acc
}, {})
console.log(letterTimes)
console.log(result)
文章作者: lmislm
文章链接: http://lmislm.com/2019/07/30/2019-07-30/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 LMISLMのBlog