例如。如果我们有两个字符串 2 和 10,如果我们按字典顺序排列,则 10 将排在第一位。
非常简单的解决方案是重复一个字符 n 次。
eg. 2 can be encoded as aa
10 as aaaaaaaaaa
This way the lex order is same as the numeric one.
但是,有没有更优雅的方法来做到这一点?
最佳答案
将数字转换为字符串时,请确保所有字符串的长度相同,如有必要,可在前面附加 0。因此 2 和 10 将被编码为“02”和“10”。
关于algorithm - 如何将数字编码为字符串,使生成的字符串的字典顺序与数字顺序相同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12751624/