1452. 收藏清单
给你一个数组 favoriteCompanies ,其中 favoriteCompanies[i] 是第 i 名用户收藏的公司清单(下标从 0 开始)。
请找出不是其他任何人收藏的公司清单的子集的收藏清单,并返回该清单下标。下标需要按升序排列。
1.调用stl库中的inludes函数,比较两个集合是否包含
先对数组进行排序,再调用stl库中的inludes函数,比较两个集合是否包含
class Solution {
public:
vector<int> peopleIndexes(vector<vector<string>>& favoriteCompanies) {
vector<int> res;
auto& v = favoriteCompanies;
for_each(v.begin(), v.end(), [](vector<string>& vec) { sort(vec.begin(), vec.end()); });
for(int i=0;i<v.size();i++)
{
bool isSubset = false;
for(int j=0;j<v.size();j++)
{
isSubset = i!=j && includes(v[j].begin(), v[j].end(), v[i].begin(), v[i].end());
if(isSubset)break;
}
if(!isSubset)res.push_back(i);
}
return res;
}
};