vector<vector<int>>实现了二维数组的功能
今天出于实际工程要判断三个数为一组,多组中是否存在相同组,三个数顺序不考虑
比如 1 2 3 和2 1 3 被认为是相同的一组
因为顺序不重要,所以比较的时候先排序了一下
时间比较紧,实现想法也比较简单,希望大佬们能指点一下更好的实现方法
#include <iostream> #include <algorithm> using namespace std; bool is_element_in_vector(vector<vector<int>> vec, vector<int> element) { vector<vector<int>>::iterator it; it = find(vec.begin(), vec.end(), element); if (it != vec.end()) { return true; } else { return false; } } int main() { vector<vector<int>> vec; vector<int> a; a.push_back(1); a.push_back(2); a.push_back(3); sort(a.begin(), a.end());//为了好比较,排序 vector<int> b; b.push_back(1); b.push_back(3); b.push_back(2); sort(b.begin(), b.end()); vec.push_back(a); if (!is_element_in_vector(vec, b)) { vec.push_back(b); cout << "don't repeat" << endl; } cout << vec.size() << endl; return 0; }