Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗Update the question所以堆栈溢出的值小于aa>。
因此,我一直在实现一些不同的排序方法(快速、合并和插入),发现这似乎有点不切实际,想知道是否有人可以解释行为背后的思维过程。
我试图排序的列表如下:

[20401, 11087, 2, 62176, 70095, 20947, 20098, 90914, 53475, 51251, 20065]

反馈是:
["11087", "2", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]

如果我把2改成00002,就会得到一个正确排序的列表
["00002", "11087", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]

提前谢谢!

最佳答案

您在OP中演示的两个输出分别如下:

a = [20401, 11087, 2, 62176, 70095, 20947, 20098, 90914, 53475, 51251, 20065]

a.sort.map &"%05d".method( :% )
#=> ["00002", "11087", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]

a.map( &:to_s ).sort
#=> ["11087", "2", "20065", "20098", "20401", "20947", "51251", "53475", "62176", "70095", "90914"]

现在又是什么问题?

10-06 04:08
查看更多