c++ - 如何找到只包含某个字段而没有其他字段的列表?
问题描述
如何找到只包含某个字段而没有其他字段的列表?如:</p>
[a, b, c, d]
[a, b, c]
[a, b]
查找仅包含 a 和 b 的列表:[a, b]
解决方案
在这里,我已经实现了您所需要的。input
是 2d 向量,其中包含您提到的三个列表的输入。该check
向量包含您要检查输入中是否存在的列表。
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main() {
vector<vector<char>> input = {
{'a', 'b', 'c', 'd'},
{'a', 'b', 'c'},
{'a', 'b'}
};
bool broke = false;
vector<char> check = {'a', 'b'};
sort(check.begin(), check.end());
for(int j=0; j<input.size(); ++j){
auto x = input[j];
if(x.size()!=check.size())continue;
sort(x.begin(), x.end());
for(int i=0; i<min(x.size(),check.size()); ++i){
if(check[i]!=x[i]){
broke = true;
break;
}
}
if(!broke){
cout<<j+1<<" number list is equal to required list\n";
}
broke = false;
}
return 0;
}
此代码接受动态输入,因此您可以使用输入和检查值来理解代码。我已经实施了 Cwift 在之前的回答中建议的方法。
推荐阅读
- python - client.get_symbol_info 返回无 Python
- python - 与 SymPy 的三个球体相交(三边测量)
- c# - C# linq 表达式。如何获得不同的偏移量和“任何”偏移量?
- react-native - 为什么这个 navigation.goBack 没有按我的预期工作?如何获得最后的活动状态?
- c# - HtmlAgilityPack 问题
- excel - Excel - 通过查找编号和查找数据获取两张工作表之间的数据
- ios - 如何通过淡入和淡出在一个标签中显示多个文本的数组
- azure-data-factory - 集成 Azure 数据工厂和 Slack 的最佳实践?
- css - CSS 与 React Native
- r - 如何拆分 .mgf 文件