如果给出一个未确定长度的数组,其中包含随机数字
顺序。请写一个方法来返回添加
的最小元素数最多为数字> = X(其中X是方法的输入?(例如array = [1,4,3,2],
X = 6,答案是2个元素:4 + 3)
答案 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
,因为数组是零索引的,我们想要到目前为止我们添加的元素数量。