一种可能的方法来检查,如果从列表中至少一个数字是其他列表中的一个范围是这样的:Ruby:最快的方法来测试列表中的任何数字是否在范围列表中?
# Input example:
# numbers = [123, 345, 567]
# ranges =[(1..10), (60..80), (200..400)]
def is_in(numbers, ranges)
numbers.each do |n|
ranges.each do |r|
return true if r.include?(n)
end
end
false
end
什么是这种情况下每一个最快的方法:
- 只有号码列表大
- 只有范围列表大
- 两者都是大
很好的答案。我想我必须以此为基准。谢谢。 – fotanus 2013-04-30 21:17:11
@fotanus我注意到你接受了我的答案 - 这是否意味着你做了一个基准并看到了实质性的改进?如果是这样,我很乐意看到结果,也许你可以用基准结果更新你的问题,并链接到基准的要点? – dbenhur 2013-05-02 02:06:55