首页 > 试题广场 >

字符编码

[编程题]字符编码
  • 热度指数:5118 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 32M,其他语言64M
  • 算法知识视频讲解
请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。

数据范围:字符串长度满足 ,本题有多组输入

输入描述:
每组数据一行,为待编码的字符串。保证字符串长度小于等于1000。


输出描述:
一行输出最短的编码后长度。
示例1

输入

MT-TECH-TEAM

输出

33
头像 17c89
发表于 2024-01-28 17:09:20
import java.util.HashMap; import java.util.Map; import java.util.PriorityQueue; import java.util.Scanner; public class Main { public static void 展开全文
头像 MichaelZhou481
发表于 2023-01-12 21:59:56
这道题算最短的编码,因此我们采用构造哈夫曼树。首先我们先解析出一行字符串里每个字符的出现次数,用std::map 进行保存。然后我们使用队列来构造哈夫曼树。 #include <algorithm> #include <cmath> #include <cstdint& 展开全文

热门推荐

通过挑战的用户

查看代码