相关疑难解决方法(0)

C#最快交集的2组排序数字

我正在计算我的应用程序的时间关键部分中的两组排序数字的交集.这个计算是整个应用程序的最大瓶颈,所以我需要加快速度.

我尝试过一些简单的选项,目前正在使用它:

foreach (var index in firstSet)
{
    if (secondSet.BinarySearch(index) < 0)
        continue;

    //do stuff
}
Run Code Online (Sandbox Code Playgroud)

这两个firstSetsecondSet的类型列表.

我也尝试过使用LINQ:

var intersection = firstSet.Where(t => secondSet.BinarySearch(t) >= 0).ToList();
Run Code Online (Sandbox Code Playgroud)

然后循环intersection.

但是,由于这两个集合都已排序,我觉得有更好的方法.请注意,我无法从集中删除项目以使其变小.两套通常每件约50件.

请帮助我们,因为我没有太多时间来完成这件事.谢谢.

注意:我这样做了大约530万次.所以每微秒都很重要.

.net c# intersection sortedset

11
推荐指数
3
解决办法
6318
查看次数

标签 统计

.net ×1

c# ×1

intersection ×1

sortedset ×1