我正在尝试按升序以最快的方式对大输入进行排序。该代码是这样的:对Ruby数组进行排序
t=gets
ti=t.to_i
r=[]
for i in(0..ti)
k=gets
r[i]=k.to_i
end
r.sort_by{|x| -x.last}
这是给我一个错误说undefined method 'last' for nil:nilclass <nomethoderror> from tsort.rb: in sort_by from tsort.rb in 'each' from tsort.rb in 'sort_by'
我不知道我错了。
这就是我已经尝试过的排序数组...这是r[]
其中有t
的所有数字!任何人都可以请帮忙。
我的投入小于10^6!
尝试给你变量名称更多的含义。它有点难以阅读。 – MrHus 2009-05-28 13:39:58
显然你的一些数组元素是零。这很奇怪,因为你明确地在所有参数上调用to_i。甚至nil.to_i是0.你能让我们知道你正在提供哪个输入吗?这与您的生产代码完全相同吗? – molf 2009-05-28 13:56:25