gpt4 book ai didi

algorithm - 在随机集合中找到最接近的数字

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:51:12 24 4
gpt4 key购买 nike

假设我有一组 0 到 100 之间的 10 个随机数。

运算符(operator)也给了我一个 0 到 100 之间的随机数。然后我必须在集合中找到与运算符(operator)给我的数字最接近的数字。

例子

设置 = {1,10,34,39,69,89,94,96,98,100}

运算符数 = 45

返回 = 39

如何将其转化为代码? (javascript 或其他)

最佳答案

如果集合是有序的,进行二进制搜索以找到最接近的值(或 2 个值)。然后通过...减去区分2中哪个最接近?

如果集合未排序,只需遍历集合(排序本身需要多次遍历),并且对于每个成员,检查差异是否小于您目前看到的最小差异,如果是,则将其记录为新的最小差异,并将该数字作为新的候选答案。 .

  public int FindClosest(int targetVal, int[] set)
{
int dif = 100, cand = 0;
foreach(int x in set)
if (Math.Abs(x-targetVal) < dif)
{
dif = Math.Abs(x-targetVal);
cand = x;
}
return cand;
}

关于algorithm - 在随机集合中找到最接近的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1881609/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com