2017-05-09 54 views
-3

我正在學習Ruby和新手。有人可以幫助我解決這個問題: 可以將所有數值相等的數字連續添加到數組中。示例 我有一個數組= [1,2,2,2,5,2,6],我希望它使用Ruby語言返回array = [1,6,5,2,6]。在此先感謝您的幫助。程序添加所有相同的數字,但在一個數組中連續

+0

歡迎來到Stack Overflow。請閱讀「[問]」,「[mcve]」和鏈接的頁面。你的問題不適合Stack Overflow。我們希望看到你的努力的證據。您是否在尋找解決方案?哪裏?爲什麼結果沒有幫助?你寫代碼了嗎?如果不是,爲什麼?如果是這樣,那麼證明你所問的問題的最小代碼是什麼?如果沒有這些,看起來你希望我們爲你寫一個解決方案,這是無關緊要的。如果這是作業閱讀「[我如何問和回答作業問題?](https://meta.stackoverflow.com/questions/334822)」 –

+0

感謝您的意見。我一直在努力,但只能添加兩個數字,而不是三個或更多的連續數字。感謝您的幫助 –

回答

3

試試這個

[1, 2, 2, 2, 5, 2, 6].chunk_while(&:equal?).flat_map(&:sum) 
=> [1, 6, 5, 2, 6] 

chunk_while允許您根據條件組連續元素。之後,你有n個組(n個數組,也許其中一些只有一個元素)。現在你想每個單獨的數組有不同的東西(它的元素的總和)map。最後的細節:flat_map,而不是map,因爲我們想要一個數組,而不是一個數組數組。

+0

https://meta.stackoverflow.com/questions/256328/vote-to-close-unclear-questions-immediately-after-commenting and https://meta.stackoverflow.com/questions/260263/how -long-should-we-wait-for-poster-to-clarify-a-question-before-closing –

+0

對不起人:( – Ursus

+0

也考慮解釋爲什麼代碼可以工作而不是扔掉它。記住, SO是一本參考書,所以我們需要幫助別人學習[教,不只是回答](https://meta.stackoverflow.com/a/291533/128421) –

相關問題