例如,我们在一个数组中有5
个值(a,b,c,e,d
),其中可能包含重复的值。a,b,c,d,e
的值是由另一个函数计算的,并分配了一些值。
将用户输入值设为x
。
我们需要在数组中找到最接近x
的值,并且输出必须位于a,b,c,e,d
中。如果最接近的数字是重复数字之一,则必须考虑字母顺序。
例如:
Array: a,b,c,e,d
a=6,b=5,c=3,d=9,e=9
是由函数分配给它们的值。
for x : 5,
output : b
for x :11,
output : d
for x : 4,
output :c
答案 0 :(得分:1)
尝试并实现以下算法:
x
,则该数组包含该元素,您就知道要打印什么; 一旦搜索到的数组部分的大小为0
,您就会发现将插入x
的位置以保留顺序。最接近的值是左侧之一或右侧之一(如果有)。计算差异以确定要打印的内容。