我正在研究一个问题,但我仍然不明白这个问题到底要求什么?
我不知道为什么([2,3,4,8],2)的预期输出等于3 也许3是最接近2的数字?或者数组中的其他数字?
我不明白下面的所有输出
请帮帮我!非常感谢你
这是下面的问题和输出:
编写一个函数
nearest_larger(arr, i)
,它接受一个数组和一个 指数。该函数应返回另一个索引j
:这应该 满足:(a)
arr[i] < arr[j]
,AND (b)j2
与i
相比j
更接近arr[i] < arr[j2]
。 如果是关系(参见下面的示例),请选择最早(最左侧) 这两个指数。如果arr
中的号码不大于arr[i]
, 返回nil
。难度:2/5
def nearest_larger(arr, idx)
end
puts("Tests for #nearest_larger")
puts("===============================================")
puts "nearest_larger([2,3,4,8], 2) == 3: " + (nearest_larger([2,3,4,8], 2) == 3).to_s
puts "nearest_larger([2,8,4,3], 2) == 1: " + (nearest_larger([2,8,4,3], 2) == 1).to_s
puts "nearest_larger([2,6,4,8], 2) == 1: " + (nearest_larger([2,6,4,8], 2) == 1).to_s
puts "nearest_larger([2,6,4,6], 2) == 1: " + (nearest_larger([2,6,4,6], 2) == 1).to_s
puts "nearest_larger([8,2,4,3], 2) == 0: " + (nearest_larger([8,2,4,3], 2) == 0).to_s
puts "nearest_larger([2,4,3,8], 1) == 3: " + (nearest_larger([2,4,3,8], 1) == 3).to_s
puts "nearest_larger([2, 6, 4, 8], 3) == nil: "+ (nearest_larger([2, 6, 4, 8], 3) == nil).to_s
puts "nearest_larger([2, 6, 9, 4, 8], 3) == 2: "+ (nearest_larger([2, 6, 9, 4, 8], 3) == 2).to_s
puts("===============================================")
答案 0 :(得分:2)
方法nearest_input
的参数是:
因此,在第一个示例中,该方法返回数组中值的索引,该索引的值大于索引2处的值。
对于这个数组:[2,3,4,8]