Leetcode820单词压缩编码的解法如何处理长尾词?
- 内容介绍
- 文章标签
- 相关推荐
本文共计783个文字,预计阅读时间需要4分钟。
给定一个单词列表,我们将这个列表编码成一个索引字符串S和一个索引列表A。
例如,如果这个列表是[time, me, bell],我们将按照以下步骤操作:
1. 创建一个索引映射,将每个单词映射到一个唯一的索引。例如: - time -> 0 - me -> 1 - bell -> 2
2. 编码单词列表成一个索引字符串S,其中每个单词的索引按顺序连接起来。对于上面的例子,S将是012。
3. 创建一个索引列表A,其中每个索引对应于原始单词列表中的位置。对于上面的例子,A将是[0, 1, 2]。
所以,对于列表[time, me, bell],结果将是:- 索引字符串S:012- 索引列表A:[0, 1, 2]
给定一个单词列表我们将这个列表编码成一个索引字符串S与一个索引列表A。例如如果这个列表是[time,me,bell]我给定一个单词列表我们将这个列表编码成一个索引字符串S与一个索引列表A。
例如如果这个列表是["time", "me", "bell"]我们就可以将其表示为S "time#bell#"和indexes [0, 2, 5]。
对于每一个索引我们可以通过从字符串S中索引的位置开始读取字符串直到"#"结束来恢复我们之前的单词列表。
那么成功对给定单词列表进行编码的最小字符串长度是多少呢
示例
输入: words ["time", "me", "bell"]输出: 10说明: S "time#bell#" indexes [0, 2, 5] 。
本文共计783个文字,预计阅读时间需要4分钟。
给定一个单词列表,我们将这个列表编码成一个索引字符串S和一个索引列表A。
例如,如果这个列表是[time, me, bell],我们将按照以下步骤操作:
1. 创建一个索引映射,将每个单词映射到一个唯一的索引。例如: - time -> 0 - me -> 1 - bell -> 2
2. 编码单词列表成一个索引字符串S,其中每个单词的索引按顺序连接起来。对于上面的例子,S将是012。
3. 创建一个索引列表A,其中每个索引对应于原始单词列表中的位置。对于上面的例子,A将是[0, 1, 2]。
所以,对于列表[time, me, bell],结果将是:- 索引字符串S:012- 索引列表A:[0, 1, 2]
给定一个单词列表我们将这个列表编码成一个索引字符串S与一个索引列表A。例如如果这个列表是[time,me,bell]我给定一个单词列表我们将这个列表编码成一个索引字符串S与一个索引列表A。
例如如果这个列表是["time", "me", "bell"]我们就可以将其表示为S "time#bell#"和indexes [0, 2, 5]。
对于每一个索引我们可以通过从字符串S中索引的位置开始读取字符串直到"#"结束来恢复我们之前的单词列表。
那么成功对给定单词列表进行编码的最小字符串长度是多少呢
示例
输入: words ["time", "me", "bell"]输出: 10说明: S "time#bell#" indexes [0, 2, 5] 。

