我需要用数组做什么?红宝石

时间:2017-02-01 01:44:29

标签: ruby

如果给出一个未确定长度的数组,其中包含随机数字

顺序。请写一个方法来返回添加

的最小元素数

最多为数字> = X(其中X是方法的输入?(例如array = [1,4,3,2],

X = 6,答案是2个元素:4 + 3)

1 个答案:

答案 0 :(得分:1)

def solution(arr, x)
  sum = 0
  arr.sort.reverse.each_with_index do |e, i|
    sum = sum + e
    return i+1 if sum >= x
  end
  return nil
end

给定和数组arr = [1,4,3,2]arr.sort给出[1,2,3,4]。只需反转数组并累积元素,直到累加器> = X.由于数组是反向排序的,我们在每次迭代时将数组的最大元素添加到累加器。在这里,我返回i+1,因为数组是零索引的,我们想要到目前为止我们添加的元素数量。