【发布时间】:2010-07-13 12:18:40
【问题描述】:
我有一个List<KeyValuePair<double, double>>,列表按KeyValuePair.Key排序,因此可以修改为二进制搜索。我有一个double 对象。现在,我的任务是找到double 对象的索引。以下是适用的条件:
- 如果该
double对象在指定的容差范围内匹配KeyValuePair.Key之一,则应返回相应的KeyValuePair.Value。 - 如果
double对象超出KeyValuePair.Key的最大和最小范围,则应返回0。 - 如果
double对象在KeyValuePair.Key的最大最小值范围内,但在指定容差范围内与KeyValuePair.Key中的任何一个都不匹配,则获取最接近的上限和最接近的下限KeyValuePair.Value的平均值(由KeyValuePair.Key测量)。
我知道 C# 中提供了二进制搜索实现,但它并不完全适合我的需要。我想问一下是否有任何实现已经满足我的需求?我不想花几个小时编写和调试其他人已经编写、调试和完善的代码。
【问题讨论】:
标签: c# binary-search