Quick actions

cmd+k|ctrl+k

Navigation

Languages

segment average length

Snippet info

Language

JavaScript

Visibility

public

Author

pheker

Created

2018-04-25T09:31:12Z

Updated

2018-04-25T10:07:40Z

console.log("Hello World!");

// 计算字符串碎片的平均长度

let str = "aaabbccca";
function getAverage(str){
    if(!str || str.length === 0) return 0;
    let arr,reg = /([a-z])\1*/g,len = 0;
    while((arr = reg.exec(str)) && ++len){}
    return str.length/len;
}

function getAverage2(str){
    if(!str || str.length === 0) return 0;
    let sum = str.length,i = -1,len = 0;
    if(sum < 2) return sum;
    while((i++<=sum-2) ){
        if(str[i] !== str[i+1]) len++;
    }
    
    return sum/len;
}

console.time("regexp")
console.log(getAverage(str));
console.timeEnd("regexp")

console.log("\n-----------split line------------\n")

console.time("logic")
console.log(getAverage2(str));
console.timeEnd("logic")



INFO