假设我有一个整数数组:
arr = [0,5,7,8,11,16]
我还有另一个整数:
n = 6
我需要一个函数来向下舍入到数组中最接近的数字:
foo(n) #=> 5
如您所见,数字没有固定的模式。执行此操作的优雅方法是什么?
谢谢
最佳答案
arr = [0,5,7,8,11,16]
puts arr.select{|item| item < 6}.max
结果:
5
这在线性时间内运行,不需要对数组进行排序。
关于Ruby:根据任意数字列表将数字舍入到最接近的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160502/