[1.5, 7, 3, 3.1, 3.3, 2.5, 6, 6.5, 5.4, 9, 10, 8]
如何分组最大差异为2的数字?如何在红宝石中分组附近的数字?
[1.3, 3, 3.1, 3.3, 2.5]
[6, 6.5, 5.4, 7]
[8, 9, 10]
[1.5, 7, 3, 3.1, 3.3, 2.5, 6, 6.5, 5.4, 9, 10, 8]
如何分组最大差异为2的数字?如何在红宝石中分组附近的数字?
[1.3, 3, 3.1, 3.3, 2.5]
[6, 6.5, 5.4, 7]
[8, 9, 10]
正如通常的情况下,Ruby有该工具:
a = [ 1.5,7,3,3.1,3.3,2.5,6,6.5,5.4,9,10,8 ]
a.chunk_while do |prev,val|
(val - prev).abs <= 2
end
a.to_a
# => [[1.5], [7], [3, 3.1, 3.3, 2.5], [6, 6.5, 5.4], [9, 10, 8]]
chunk_while
该方法采用两个值,前一值和当前值。当该块返回逻辑上错误的值时,它会分裂。
这些在数组中吗? –
'1.3'从哪里来?为什么订单有时会改变,而不是其他时间? 8和9之二是不是7? – engineersmnky
是我在aproximate方法thiniking,但它不适用于此目的 – rakudo2