仅当值';s小于x
本文关键字:小于 | 更新日期: 2023-09-27 18:21:45
我有一个双打数组。如何找到最接近某个输入值的值而不高于该输入值。
在C#中使用LINQ
// Assuming values is IEnumerable<double>
values = values.Where(v => v <= input);
return values.Any() ? values.Max() : resultWhenInputTooSmall;
public static int checkClosest(int target)
{
int closestVal = 0;
for(int i = 0; i < thing.length; i++)
if(thing[i] < target && thing[i] > closestVal) closestVal = thing[i];
return closestVal;
}
在CSharp中,您可以使用linq来更容易地实现它。
var result = doubleArray.Where(p => p < inputValue).OrderByDescending(p => p).FirstOrDefault();
首先对它们进行排序(有很多方法)。然后对你要查找的数字进行二进制搜索。