我正在寻找一种机制,可以使用唯一的数字来表示一组字符串,这样当我想要对它们进行排序时,我可以使用数字来对这些值进行排序。
例如,这就是我的想法
我保留固定长度的数字 20 位
每个字母表都用其 ASCII/某些字母顺序值表示
猫 - (03)(01)(20)(00)(00)(00)(00)(00)(00)(00) - 03012000000000000000
白内障 - (03)(01)(20)(01)(18)(01)(03)(20)(00)(00) - 03012001180103200000
资本 - (03)(01)(16)(09)(20)(01)(12)(00)(00)(00) - 03011609200112000000
因此,如果我根据数字对其进行排序,它会排序并显示
首都,猫,白内障
这是一个好方法吗?
还有其他方法可以让我更准确吗?
谢谢,
森
最佳答案
如果您的字符串长度是固定的,并且字符集固定为 100 个不同的字符,您可以将字符串中的每个字符视为以 100 为基数的数字,以将字符串转换为 double 型。
如果您的字符串集比可能的字符串集小得多,您可以对它们进行散列,并针对冲突任意但一致地定义排序顺序。
在特定情况下,我可能不会推荐其中任何一个,但作为您所说的 super 通用解决方案,它是有效的。但如果你问的似乎是一个理论问题,那么理论答案似乎是合适的。
关于java - 用唯一的数字表示一组字符串,也可以根据数字进行排序。,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26145659/