如何在数组中找到最大负数和最小正数

Vit*_*kyi 3 ruby

是否有一些方法可以在阵列中找到最大负数和最小正数?数组不包含零

[-1,5,-4,6,1,8,-3].max_negative # => -1
[-1,5,-4,6,1,8,-3].min_positive # => 1
Run Code Online (Sandbox Code Playgroud)

Bab*_*bar 6

我认为没有内置的解决方案.但是你可以非常简单地实现这一点.

[-1,5,-4,6,1,8,-3].select{|n| n < 0}.max # => -1
[-1,5,-4,6,1,8,-3].select{|n| n >= 0}.min # => 1
Run Code Online (Sandbox Code Playgroud)

如果需要,甚至可以在数组类中将它们包装在一个方法中.


saw*_*awa 6

[-1,5,-4,6,1,8,-3].select(&:negative?).max
[-1,5,-4,6,1,8,-3].select(&:positive?).min
Run Code Online (Sandbox Code Playgroud)