判断一个vector是否是另外一个vector的有序子集
来源:互联网 发布:有创意的淘宝店铺设计 编辑:程序博客网 时间:2024/05/29 16:18
static bool compareVector(const std::vector<int>& desVec, const std::vector<int>& srcVec){ if (srcVec.size() == 0 || desVec.size() == 0 || desVec.size() < srcVec.size()) { return false; } int i = 0; int j = 0; std::vector<int> tempVec; while (i < desVec.size()) { int v = desVec[i]; if (j == 0 && v == srcVec[0]) { tempVec.push_back(i); i ++; j ++; continue; } if(tempVec.size() > 0) { while (j < srcVec.size()) { int sv = srcVec[j]; int index = tempVec.back(); if (v == sv && index == i - 1) { tempVec.push_back(i); } else { tempVec.clear(); j = 0; if (j == 0 && v == srcVec[0]) { tempVec.push_back(i); j ++; } break; } j ++; } } if (i > desVec.size() - srcVec.size() + 1 || tempVec.size() == srcVec.size()) { break; } i ++; } if (tempVec.size() == srcVec.size()) return true; return false;}
其实还有一个比较简单的方法,就是把两个vector的内容转换成字符串,然后进行字符串的匹配,只是性能消耗比较大
0 0
- 判断一个vector是否是另外一个vector的有序子集
- Algorithm_判断一个数组是另外一个数组的子集
- 【C++】判断vector是否为另一个vector的子集
- 判断一个树是否是另外一个树的子树
- 判断一个字符串是否是另一个字符串的子集
- 判断一个List是否是另一个List的子集
- 判断一个数组是否是另一个数组的子集
- 判断一颗树是否是另外一个树的子树
- 【python】判断一棵树是否是另外一个树的子树
- 检验一个vector对象是否是另一个vector对象的前缀
- 判断一个序列是否是另外一个序列的子序列的算法
- 判断一个字符串是否是另外一个字符串的后缀的算法
- 判断一个字符串是否是另外一个字符串的子串
- java判断一个序列是否可能是另外一个压栈序列的弹出序列
- vector是一个十分有用的容器
- 【Scala】通过【foldLeft】来判断一个List是否是另一个List的子集
- 判断一个数组是否有序
- 一个字符串是否是另外一个字符串的子字符串
- iBeacon使用
- Delphi New,Getmem,ReallocMem联系与区别
- JQ 常用方法
- Android 图片加载Bitmap OOM错误解决办法
- SSH 免密码登陆
- 判断一个vector是否是另外一个vector的有序子集
- 顶点覆盖问题
- 【bzoj3157】 【bzoj3516】 国王奇遇记 && 国王奇遇记加强版
- 【读书笔记】深入理解Nginx模块开发与架构解析(一)
- 类成员函数中调用socket接口close()问题
- 本博客目录及版权申明
- volley
- cocos2d-x RichText 真实高度
- gen already exists but is not a source folder. Convert to a source folder or rename it.