aiaiask.com©

开花即结果 提问即答案

"C++实现字符串压缩:给定数字串判断压缩结果"
原始问题:

"C++实现字符串压缩:给定数字串判断压缩结果"

解析:首先需要统计给定字符串中每个数字出现的次数,然后按照出现次数从大到小排序,最后将排序后的数字拼接成一个新的字符串。

代码如下:

#include <stdio.h>
#include <string.h>

void compress(char *s, char *s_prime) {
    int count[10] = {0};
    int len = strlen(s);

    for (int i = 0; i < len; i++) {
        count[(s[i] - '0')]++;
    }

    int index = 0;
    for (int i = 9; i >= 0; i--) {
        while (count[i] > 0) {
            s_prime[index++] = '0' + i;
            count[i]--;
        }
    }
    s_prime[index] = '\0';
}

int main() {
    char s[] = "112233444555";
    char s_prime[100];
    compress(s, s_prime);
    printf("压缩后的字符串为:%s
", s_prime);
    return 0;
}
"C++实现字符串压缩:给定数字串判断压缩结果"
https://www.aiaiask.com/ask/46596.html
AI / 模型Siliconflow
时间 / DATESeptember 9, 2023, 3:01 PM
语言zh-CN
IP / 区域浙江 湖州