专栏首页达摩兵的技术空间单词片段分割–0328代码练习

单词片段分割–0328代码练习

场景描述

一个由小写字母组成的字符串可以看成一些同一字母的最大碎片组成的。例如,”aaabbaaac”是由下面碎片组成的:’aaa’,’bb’,’c’。牛牛现在给定一个字符串,请你帮助计算这个字符串的所有碎片的平均长度是多少。 如样例所示: s = “aaabbaaac” 所有碎片的平均长度 = (3 + 2 + 3 + 1) / 4 = 2.25

思路解析

首先不要公式绝对的误导,其前面的数值加起来其实就是字符串的总长度,而后面的4是指不间隔的片段计数,而不间隔,突然想到之前学到的数组的reduce方法不就是可以拿到上一个么,都不用自己额外赋值temp的。

代码

let getAver=(str)=>{
    let len=str.length
    let count=1
    str.split("").reduce((prev,ele)=>{
        if(prev!=ele){
            prev=ele
            count++
        }
           return prev

    })
    return (len/count).toFixed(2)
}

结果

完美通过所有测试用例,有兴趣的可以去学习下reduce语法。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 文件拓展名、周几的写法优化

    本文主要是练习如何获取文件拓展名的练习。之前有分享过一个方案,但是早晨有复习字符串语法中有涉及到一个方法交lastIndexOf(),所以想就这个问题应该有个更...

    RobinsonZhang
  • 数组双向绑定的简单分享

    本文主要是摘录《vuejs权威指南》部分的相关解读,我们都知道vue对数据支持双向绑定,对数组也是支持的,但是其在官网有明确说明,对于数组通过 对象.语法来修改...

    RobinsonZhang
  • 非瀑布型的UCD

    Ucd指的是以用户为中心的设计,而ux则指的是用户体验,在以后的设计思想中会越来越重视产品体验,用户感知等,甚至于很多互联网公司开始独立设立交互设计师。

    RobinsonZhang
  • Python之格式化输出,初始编码以及运算符

    一、题型 1、使用while循环输入 1 2 3 4 5 6  8 9 10 count = 0 while count < 10:   count +=...

    新人小试
  • 49-动画程序:@从一行#中穿过

    凯茜的老爸
  • 技术分享 | 连接数据库这个操作做了什么?

    MySQL DBA,擅长 python 和 SQL,目前维护着 github 的两个开源项目:mysqltools 、dbmc 以及独立博客:https://w...

    爱可生开源社区
  • JavaScript获得对象属性个数的方法

    //扩展对象的count方法 Object.prototype.count = ( Object.prototype.hasOwnProperty(‘_...

    就只是小茗
  • mongodb count查询记录条数 原

    使用count()方法查询表中的记录条数,例如,下面的命令查询表users的记录数量:

    拓荒者
  • sql 语句中count()有条件的时候为什么要加上or null

    如count(province = '浙江' or NULL) 这部分,为什么要加上or NULL,直接count(province='浙江')有什么问题吗?不...

    别先生
  • base64js typescript代码改写

    lilugirl

扫码关注云+社区

领取腾讯云代金券