Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
给定一维向量std::vector<double> v,我知道识别唯一元素的最有效方法是:
std::vector<double> v
sort(v.begin(), v.end()); v.erase(unique(v.begin(), v.end()), v.end());
找到二维向量中唯一元素(即二维矩阵的所有元素中的唯一元素)的最有效方法是什么 std::vector<std::vector<double>> v
std::vector<std::vector<double>> v
编辑:一个明显的解决方案可能是展平二维矩阵并应用上述方法,但有没有更有效的方法?
获取您拥有的代码片段,并将其应用于外部向量中的每个向量。
for (int i = 0; i < outerVector.size(); ++i) { // Your snippet }
如果您必须触摸 2d 数组中的每个元素,那么您可以期望的最好的就是O(n²)算法。
O(n²)