我有一个双精度数组,我怎样才能找到一个最接近某个输入值的值,而又不高于那个输入值呢?
iezvtpos1#
在C#中使用LINQ
// Assuming values is IEnumerable<double> values = values.Where(v => v <= input); return values.Any() ? values.Max() : resultWhenInputTooSmall;
vfh0ocws2#
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; }
alen0pnh3#
在CSharp中,您可以使用linq来更容易地实现它。
var result = doubleArray.Where(p => p < inputValue).OrderByDescending(p => p).FirstOrDefault();
yqhsw0fo4#
首先对它们进行排序(有很多种方法),然后对你要找的数字进行二进制搜索。
4条答案
按热度按时间iezvtpos1#
在C#中使用LINQ
vfh0ocws2#
alen0pnh3#
在CSharp中,您可以使用linq来更容易地实现它。
yqhsw0fo4#
首先对它们进行排序(有很多种方法),然后对你要找的数字进行二进制搜索。