两个向量的结合
Union of two vectors
我有载体A包含数字1,7,9,9,3,13,3我有载体B,其中包含数字9,11,7,7,3,2,1
我需要获取向量C,该向量C将包含以下两个向量的每个元素,但每次都只有一次(例如,来自向量A的数字9不应重复)因此C应包含1,7,9,3,13,11,2
此代码将使Vector C成为两个向量的联合,但会重复一些数字(如果一个向量包括3倍数字1,则C还包括3x数字1)
)vector<int>union(vector<int>A,vector<int>B)
{
sort(A.begin(),A.end());
sort(B.begin(),B.end());
vector<int> C(A.size()*2); //vector A has same size as vector B
vector<int>::iterator it= set_union(A.begin(),A.end(),B.begin(),B.end(),C.begin());
C.resize(it-C.begin());
return C;
}
它必须尽可能快地工作。这样做的最好方法是什么?
此问题的正确解决方案是先对每个向量进行排序,然后以类似于sink
排序的方式获取相交/联合/过滤。
相关文章:
- 多态性和功能结合
- 写入向量<向量<bool>>
- 函数向量_指针有不同的原型,我可以构建一个吗
- std::向量与传递值的动态数组
- 将值指定给向量(2D)的向量中的某个位置
- 找不到成员对象:没有名为get_event()的成员,也处理多态性和向量
- 如何使用向量的template_back函数
- 尝试通过多个向量访问变量时,向量下标超出范围
- 如何通过派生类函数更改基类中的向量
- C++从另一个类访问公共静态向量的正确方法是什么
- 如何将ampl中的集合表示为c++中的向量
- 变量没有改变?通过向量的函数调用
- 迭代时从向量和内存中删除对象
- 向量 <int> a {N, 0} 和 int arr a[N] = {0} 的时间复杂度有什么区别
- 如何为模板化对象创建模板向量?VS正在投掷C3203
- 计算排序向量的向量中唯一值的计数
- 两个向量的结合
- C++:如何结合指针为向量编写析构函数
- 结合两个不同大小的向量的值
- 矩阵-向量乘法与特征系数积的结合