当前位置: 首页 > 面试题库 >

查找数组中最近的较小数字

那正初
2023-03-14
问题内容

我希望能够在数字数组中找到最接近的较小值。例如,如果我有:

[1, 4, 6, 9, 14, 39]

我正在寻找小于以下值的最接近值:

8

该函数将返回:

6

另外,如果我传递的数字大于数组中的最大值,则它应返回最大值。如果我传递的数字小于最小值,则应返回nil。

我尝试使用first数组上的函数执行此操作,但是单独执行此操作不会产生我想要的结果,因为我需要这样的东西:

numbers.first(where: { $0 <= target && $1 < target })

但不幸的是,这是无效的。有什么建议?我知道可以使用while循环轻松完成此操作,但是我希望有一种更干净,更实用的方法


问题答案:

给定数组已排序,您需要

if let value = numbers.last(where: { $0 <= target }) {
  print(value)
}


 类似资料:
  • 所以...我有:int array[]={-8,2,0,5,-3,6,0,9}; 我想找到一个最小的正数(在上面的列表中是2)

  • 问题内容: 是否有numpy-thonic方法(例如函数)在数组中查找最接近的值? 例: 问题答案:

  • 问题内容: 我正在尝试在数组中找到数字的最小值,但并非总是能正常工作。这是我写的代码: 有人可以纠正我吗? 问题答案: 不需要外部循环,它只运行一次,并且无论如何您都不会使用。你为什么有它? 对于内部循环,您需要与最小值进行比较。现在,您正在将其与数组中的第一个元素(不一定是最小值)进行比较。 另外,您可以从1开始循环,因为您不需要与自身进行比较(它只分配给)

  • 本文向大家介绍C ++程序查找数组中最近的点对,包括了C ++程序查找数组中最近的点对的使用技巧和注意事项,需要的朋友参考一下 这是在数组中查找最接近的点对的程序。 演算法 对于最近点之间的距离 要计算最小距离- 示例 输出结果

  • 问题内容: 我们需要在分配中递归地找到一个数组中的第二个最小整数。但是,为了更好地理解该主题,我想先通过本网站进行迭代,然后自己进行递归。 不幸的是,迭代地进行相当混乱。我知道该解决方案很简单,但我无法解决。 到目前为止,以下是我的代码: 这适用于一些数字,但不是全部。数字会变化,因为内部if条件的效率不如外部if条件的效率。 禁止阵列重排。 问题答案: 试试这个。当最小的数字是第一个时,第二个条