特定の値を加算する配列内の最初の組み合わせを見つける必要があります。この組み合わせは、全体として最も低いインデックスの組み合わせである必要があります。特定の値を加算するサブアレイのすべての組み合わせを見つける方法
私は、問題のほとんどが出てきました:
def pairs(array_ints, sum)
array_ints.combination(2).detect {|x, y| x + y == sum}
end
この方法は、最も低いインデックス化ペアとの組み合わせを与えるものではありません。例:
def pairs([10, 5, 2, 3, 7, 5], 10)
array_ints.combination(2).detect {|x, y| x + y == sum}
end
#output [5, 5]
#desired output [3, 7] because they appear earlier as a pair in the array.
特定の合計に等しいすべてのペアを出力し、最も低いインデックスペアを選択するにはどうすればよいですか?
は除外単一アイテムですか? 2つ以上のアイテムは許可されていますか?あなたの3、7の例のように、隣接関係は重要ですか? – coreyward
単一項目は除外されます。 2つ以上の項目は許可されていません。それらは隣接する必要はありません。私が心配しているインデックス番号は、ペアの2番目の数字です。それは最も低いものである必要があります。 –