我有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