我有int
一个载体,它可以包括最多4种元素和最小2,例如:我怎样才能找到一个向量中重复的元素
std::vector<int> vectorDATA(X); // x means unknown here
我想要做的是消除那些元素重复,例如:
vectorDATA{1,2,2} to vectorDATA{1,2}
vectorDATA{1,2,3} to nothing changes
vectorDATA{2,2,2} to vectorDATA{2}
vectorDATA{3,2,1,3} to vectorDATA{3,2,1}
vectorDATA{1,2,1,2} to vector{1,2}
等
这里的代码很简单:
cv::HoughLines(canny,lineQ,1,CV_PI/180,200);
std::cout << " line Size "<<lineQ.size()<< std::endl;
std::vector<int> linesData(lineQ.size());
std::vector<int> ::iterator it;
if(lineQ.size() <=4 && lineQ.size() !=0){
if(lineQ.size()==1){
break;
}else {
for (int i = 0; i<lineQ.size();i++){
linesData[i] = lineQ[i][1]; // my comparison parameter is the lineQ[i][1]
}
//基于答案我得到了我想这个,但我真的不怎么继续?
std::sort(lineQ.begin(),lineQ.end(),[](const cv::Vec2f &a,const cv::Vec2f &b)
{
return ????
}
我尝试使用for and do while
循环,但我没有得到它,而且功能std::adjacent_find
这有一个条件,即要素应该是连续的。
也许这很容易,但我不明白! 感谢您的帮助!
最多4个,最少4.这不是一个真正的多种尺寸:) – jrok
@jrok抱歉! – Engine
@Dikeling在那里你得到了它 – Engine