dew*_*rde 14 c++ subset set-intersection
目前,我认为我最好的选择是使用std :: set_intersection,然后检查较小输入的大小是否与set_intersection填充的元素数相同.
有更好的解决方案吗?
Kla*_*ark 37
试试这个:
if (std::includes(set_one.begin(), set_one.end(),
set_two.begin(), set_two.end()))
{
// ...
}
Run Code Online (Sandbox Code Playgroud)
关于includes().
includes()算法比较两个排序的序列,如果范围[start2,finish2]中的每个元素都包含在[start1,finish1]范围内,则返回true.否则返回false.includes()假定使用operator <()或使用谓词comp对序列进行排序.
跑进来
最多((finish1 - start1)+(finish2 - start2))*2 - 1执行比较.
加O(nlog(n))用于排序向量.你不会比这更快.
归档时间: |
|
查看次数: |
11640 次 |
最近记录: |