给定一个排序整数数组,并找到最接近 c 中给定数字的值.数组可能包含重复值



例如,我们在数组中有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

尝试实现以下算法:

  • 获取数组中间的元素;
  • 如果这个元素的值是x,数组包含它,你知道要打印什么;
  • 如果元素较大,则查看数组的前半部分;
  • 否则查看数组的后半部分;

一旦您搜索的数组部分的大小为0,您就找到了插入x以保留排序的位置。最接近的值是左侧的值或右侧的值(如果有(。计算差异以确定要打印的内容。

相关内容

  • 没有找到相关文章

最新更新