我有这样的整数数组:
[1, 2, 3, 6, 10]
我的问题是,获取该数组中不存在的最小正整数的最简单方法是什么?
类似于:
[1, 2, 3, 6, 10].lowest_available => 4
[1, 8, 3, 6, 10].lowest_available => 2
[5, 8, 3, 6, 10].lowest_available => 1
有人知道如何在 ruby 中管理它吗?
最佳答案
class Array
def lowest_available; (1..Float::INFINITY).find{|e| include?(e).!} end
end
[1, 2, 3, 6, 10].lowest_available # => 4
[1, 8, 3, 6, 10].lowest_available # => 2
[5, 8, 3, 6, 10].lowest_available # => 1
或者,按照 Stefan 的建议:
class Array
def lowest_available; 1.step.find{|e| include?(e).!} end
end
关于ruby - 在数组中找到最小的缺失正整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29367533/