C++
给定一个 list<int> , 例如{1 ,21 ,55 ,99 ,111 ,10000 ,99999} 随机,依次递增。
再给定一个 list<pair<int, int> > 数据为 {( 1 ,8 ),( 10 ,20 ),( 27 ,100 )} 随机,依次递增,每个 pair 不存在交集。中间可以有空缺。
假定两列数据都大于 100w 条,如何快速列出第一个列表的数字存在于第二个列表中。
比如 1 ,就属于(1,8),55 属于( 27 ,100 ),21 则不属于;
有无最优解,求问大佬。
给定一个 list<int> , 例如{1 ,21 ,55 ,99 ,111 ,10000 ,99999} 随机,依次递增。
再给定一个 list<pair<int, int> > 数据为 {( 1 ,8 ),( 10 ,20 ),( 27 ,100 )} 随机,依次递增,每个 pair 不存在交集。中间可以有空缺。
假定两列数据都大于 100w 条,如何快速列出第一个列表的数字存在于第二个列表中。
比如 1 ,就属于(1,8),55 属于( 27 ,100 ),21 则不属于;
有无最优解,求问大佬。
