在这个家庭作业问题上需要帮助。如何编写一个函数,nearest_larger(arr, i) 接受一个数组和一个索引。该函数应返回另一个索引。条件如下。谢谢。
This should satisfy:
(a) `arr[i] < arr[j]`, AND
(b) there is no `j2` closer to `i` than `j` where `arr[i] < arr[j]`.
如果出现平局(参见下面的示例),请选择两个索引中最早的(最左侧)。如果 in
arr
中没有大于 的数字,则arr[i]
返回nil
。例子:
最近的_larger([2,3,4,8], 2).should == 3 end
我的代码是:
def nearest_larger(arr, idx)
greater_nums = []
arr.each {|element| greater_nums << element if element>idx}
sorted_greater_nums= greater_nums.sort
nearest_larger = sorted_greater_nums[0]
arr.index(nearest_larger)
end
非常感谢你们。解决方法见下方帖子