陣列並集 有序陣列去重

2021-08-27 05:23:44 字數 1131 閱讀 3397

#include #include #include #include #include #include using namespace std;

/*求兩個陣列的交集(三種方法)

1. 兩個指標,判斷三個大小

2. 兩個map存,另乙個map去找,value>1則說明重複

3. set標準庫自帶函式set_union(並集)set_intersection(交集)

*/vectorfun1(vectornum1, vectornum2)

else if (num1[index1] > num2[index2])

index2++;

else

index1++;

} return res;

}vectorfun2(vectornum1, vectornum2)

return res;

}vectorfun3(vectornum1, vectornum2)

int main()

; vectornum2;

vectorres = fun3(num1, num2);

for (auto i : res)

cout << i << " ";

cout << endl;

system("pause");

return 0;

}

#include #include #include #include #include #include using namespace std;

/*有序陣列去重

1. 兩個指標i,j,相等j右移,不等j指向的數字拷貝到i+1

2. 直接vector拷貝到set中

*/void fun1(vectornum)

void fun2(vector&num)

} num.resize(i + 1);

for (auto p : num)

cout << p << " ";

cout << endl;

}int main()

; fun2(num1);

system("pause");

return 0;

}

演算法題 有序陣列去重

將有序陣列去重並且列印去重之後的長度。快慢指標思想,邏輯上的指標,並非 這個指標 定義兩個指標slow,fast。fast逐個遍歷元素,如果與slow不同,則把slow所指元素列印出來,如果與slow所指元素相同,則fast 1,直至遍歷結束。include using namespace std ...

有序陣列 有序鍊錶高效去重

基本原理 第一步 初始化兩個指標,乙個慢指標slow 乙個快指標fast。第二步 判斷慢指標slow和快指標fast的值是否一致,如不一致,慢指標slow加1 並把快指標fast的值賦值給慢指標slow,然後快指標fast加1。第三步 繼續掃瞄後面的元素,如果慢指標slow和快指標fast的值一致,...

陣列去重 並集 交集 差集

一 去重 1 借助額外變數空間 es5 var arr 1,3,4,5,6,6,7,3,3,3 var newarr var obj function removeduplicates arr return newarr removeduplicates arr 1,3,4,5,6,7 2 不借助額...