algorithm - 如何将数字编码为字符串,使生成的字符串的字典顺序与数字顺序相同

标签 algorithm lexicographic

例如。如果我们有两个字符串 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/

相关文章:

r - 生成 0 和 1 排列的有效方法?

java - 这两个用于查找二叉树最大深度的代码有什么区别?

c# - 谁是所有字符串中最伟大的?

java - Java String.getBytes ("UTF-8") 是否保留词典顺序?

C++ lexicographical_compare 有什么用?

algorithm - 互质数取模序列范围的快速算法/公式

algorithm - 以编程方式获得代码的Big-O效率

java - 按字典顺序比较两个字符串

c++ - 字符串的字典序比较[不区分大小写]

algorithm - Floyd-Warshall 算法可视化 : length is known but predecessors aren't