use*_*154 9 ruby arrays rounding
假设我有一个整数数组:
arr = [0,5,7,8,11,16]
Run Code Online (Sandbox Code Playgroud)
我有另一个整数:
n = 6
Run Code Online (Sandbox Code Playgroud)
我需要一个向下舍入到数组中最接近的数字的函数:
foo(n) #=> 5
Run Code Online (Sandbox Code Playgroud)
如您所见,数字没有固定的模式.这是一种优雅的方式吗?
谢谢
Mar*_*ers 15
arr = [0,5,7,8,11,16]
puts arr.select{|item| item < 6}.max
Run Code Online (Sandbox Code Playgroud)
结果:
5
Run Code Online (Sandbox Code Playgroud)
它以线性时间运行,不需要对数组进行排序.