我收到了一个清单[1, 1, 20, 20, 20, 4, 4, 7, 5, 5, 7]
。Ruby常见联合名单
在Ruby中,如何检查列表是否“经常统一”?
举例:[2, 2, 150, 150, 150, 70, 70, 70]
是经常联合。
编辑
又如:[2, 2, 150, 150, 150, 70, 70, 70, 150]
不是经常联合因为150不在一起。
我收到了一个清单[1, 1, 20, 20, 20, 4, 4, 7, 5, 5, 7]
。Ruby常见联合名单
在Ruby中,如何检查列表是否“经常统一”?
举例:[2, 2, 150, 150, 150, 70, 70, 70]
是经常联合。
编辑
又如:[2, 2, 150, 150, 150, 70, 70, 70, 150]
不是经常联合因为150不在一起。
喜欢的东西检查,如果下一个元素是等于当前的一个?这样的:
p [1, 1, 20, 20, 20, 4, 4, 7, 5, 5, 7].chunk_while(&:==).all? { |e| e.size > 1 }
p [2, 2, 150, 150, 150, 70, 70, 70].chunk_while(&:==).all? { |e| e.size > 1 }
# => false
# => true
编辑:
def some_method(array)
hash = Hash.new(0)
array.each { |e| hash[e] += 1 }
if hash.values.any?(&1.method(:==))
true
else
array.chunk_while(&:==).all? { |e| e.size > 1 }
end
end
谢谢,先生!有用 ! –
如果你有一个元素,它会返回'false',例如:'[1,1,2,2,3] .chunk_while(&:==)。all? {| e | e.size> 1}'返回'false'。这是个问题吗? –
你是对的。这可能是一个问题。如果列表包含单个元素,如何确保它返回true? –
是什么_frequently united_是什么意思? –
“在Ruby中,如何检查列表是否”经常团结“? - 通过指定“经常联合”意味着什么,然后编写一个程序来检查该属性。如果您的程序有问题,请仔细阅读您正在使用的所有方法,类,模块和库的文档,为您的程序编写测试,使用笔和纸记录执行情况,单步执行调试程序,然后在上面睡觉,从头开始,再次睡上,然后*然后只有这样*问一个关于[so]的重点狭窄的问题。 –