首页 > 试题广场 >

字符串压缩算法

[编程题]字符串压缩算法
  • 热度指数:5955 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
输入一串字符,请编写一个字符串压缩程序,将字符串中连续出现的重复字母进行压缩,并输出压缩后的字符串。
例如:
aac 压缩为 1ac
xxxxyyyyyyzbbb 压缩为 3x5yz2b



输入描述:
任意长度字符串


输出描述:
压缩后的字符串
示例1

输入

xxxxyyyyyyzbbb

输出

3x5yz2b
while(line = readline()) {
    let input = line;
    let outArr = [];
    let count = 0;
    for (let i = 0; i < input.length; i++) {
        if (input[i] === input[i + 1]) {
            count ++;
        } else {
            if(count !== 0){
                outArr.push(count);
            };
            outArr.push(input[i]);
            count = 0;
        };
    };
    console.log(outArr.join(''));
};

发表于 2020-06-20 15:42:29 回复(0)