我收到了一個清單[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]的重點狹窄的問題。 –