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

在随机集中找到最接近的数字,第1张

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

如果set是有序的,请执行二进制搜索以找到最接近的值(或2个值)。然后通过减去…来区分2中最接近的那个?

如果没有对set进行排序,则只需遍历set(对它本身进行一次以上排序),然后对于每个成员,检查差异是否小于到目前为止所看到的最小差异,以及是否小于是,将其记录为新的最小差异,并将该数字记录为新的候选答案。。

  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;  }


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/zaji/4940179.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-11-13
下一篇2022-11-13

发表评论

登录后才能评论

评论列表(0条)

    保存