349. 兩個陣列的交集
阿新 • • 發佈:2022-03-23
做題思路 or 感想 :
1,一眼暴力,但是如果純暴力的話又太費時,所以這裡用了一下set,其實某種意義上仍然是暴力?
2,set的去重很好用,把vector倒進set,再把set倒回vector就可以實現去重,但是很費時間,只能說是走頭無路時的暴力解法了
1 class Solution { 2 public: 3 vector<int> intersection(vector<int>& nums1, vector<int>& nums2) { 4 unordered_set<int>HashSet (nums1.begin(), nums1.end()); //把第一個num1去一下重,避免不必要的查詢 5 unordered_set<int>result; //存答案 6 for (int temp : nums2) { 7 if (HashSet.find(temp) != HashSet.end()) { //有一說一,容器裡的find是真的好用,雜湊表好多題都是要靈活運用find就可以極大簡化程式碼 8 result.insert(temp); //set沒有push,只有insert!!!! 9 } 10 }11 return vector<int> (result.begin(), result.end()); //因為要求的是vector,所以要把set再轉化回vector 12 } 13 };