gpt4 book ai didi

swift - 在数组中找到最近的较小数字

转载 作者:搜寻专家 更新时间:2023-11-01 06:25:13 25 4
gpt4 key购买 nike

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

[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)
}

关于swift - 在数组中找到最近的较小数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56916160/

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