20240702
350. Intersection of Two Arrays II
Given two integer arrays nums1 and nums2, return an array of their
intersection. Each element in the result must appear as many times as it
shows in both arrays and you may return the result in any order.
要找兩個array共通的element
所以其中一個先計數
然後另一個逐一比對是否有在第一個出現
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
int maxV1 = *max_element(nums1.begin(), nums1.end());
cout << maxV1 << endl;
vector<int> count(maxV1 + 1);
for (int num : nums1) {
count[num]++;
}
// for (int i = 0; i < maxV1 + 1; ++i) {
// cout << i << ", " << count[i] << "," << endl;
// }
vector<int> inter;
for (int num : nums2) {
if (num <= maxV1 && count[num]) {
inter.push_back(num);
count[num]