我是新來的紅寶石在軌道上。檢查是否有2個數組的數組加起來輸入數字在紅寶石
我正在編程ruby,並且想要嘗試檢查數組的2個數是否合計爲紅寶石中的輸入數。
例如, 陣列A [] = {3,1,8,11,5,7} 定整說N = 6 答案將是1,5。
我知道如何把它在Java,C++編程,但我卡在紅寶石編碼,
任何人都可以請幫助me.Thanks提前
我是新來的紅寶石在軌道上。檢查是否有2個數組的數組加起來輸入數字在紅寶石
我正在編程ruby,並且想要嘗試檢查數組的2個數是否合計爲紅寶石中的輸入數。
例如, 陣列A [] = {3,1,8,11,5,7} 定整說N = 6 答案將是1,5。
我知道如何把它在Java,C++編程,但我卡在紅寶石編碼,
任何人都可以請幫助me.Thanks提前
您可以使用Array#combination
:
ary = [3, 1, 8, 11, 5, 7]
n = 6
ary.combination(2).detect { |a, b| a + b == n }
#=> [1, 5]
combination(2)
創建長度爲2的所有組合的數組,即[3,1], [3,8], [3,11]
等detect { |a, b| a + b == n }
返回與和n
a = [3, 1, 8, 11, 5, 7]
p a.combination(2).find{|i| i.inject(:+) == 6}
# >> [1, 5]
a = [3, 1, 8, 11, 4, 5, 7, 2]
> a.combination(2).select {|i| i.inject(:+) == 6 }
#=> [[1, 5], [4, 2]]
堆棧溢出,你應該表現出你寫的代碼,你試圖解決的問題,並解釋爲什麼每一次嘗試沒有成功。否則,看起來你只是在尋找別人爲你寫代碼。 –
@theTinMan對這個問題感到抱歉。下次記住它。遇到問題就問這個問題。讚賞你的評論 – Catmandu
你仍然可以做這個工作並更新你的問題,它很可能會重新打開。 – zhon