【发布时间】:2018-06-05 17:17:38
【问题描述】:
您知道将长数字字符串转换为较短字母数字的任何散列方法吗?我需要从 3 个字符串中获取一个最大长度为 10 的唯一字符串,总共 33 位。
【问题讨论】:
标签: algorithm hash mathematical-optimization
您知道将长数字字符串转换为较短字母数字的任何散列方法吗?我需要从 3 个字符串中获取一个最大长度为 10 的唯一字符串,总共 33 位。
【问题讨论】:
标签: algorithm hash mathematical-optimization
您无法将所有可能的长度为 33 的十进制序列 1:1 映射为长度为 10 且字母大小合理的字母数字字符串(您需要字母大小为 2000:10^33 = x^10 => x~1996)
但是对于有限的已知集合十进制序列 - 您可以计算 perfect hash 并在适当的系统中表示哈希值(例如:在 36 基数中使用 0..9, A..Z 字符)
【讨论】: