-
[Leetcode] 350. Intersection of Two Arrays II 문제 풀이Algorithm/문제풀이 2021. 9. 17. 21:13
https://leetcode.com/problems/intersection-of-two-arrays-ii/
Intersection of Two Arrays II - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
문제 내용
숫자 집합 2개가 주어지는 데 교집합을 구하면 된다.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2]
Output: [2,2]문제 풀이
숫자 범위가 크지 않기 때문에 hash를 사용해서 풀었다.
1번째 배열의 숫자 빈도수를 구한다음에
2번째 배열에 숫자가 있는 지 찾고 있으면 교집합으로 정의했다.
class Solution { public: vector<int> intersect(vector<int>& nums1, vector<int>& nums2) { unordered_map<int, int> hash; for (auto num : nums1) { if (hash.find(num) == hash.end()) { hash[num] = 1; } else { hash[num]++; } } vector<int> ans; for (auto num : nums2) { if (hash.find(num) == hash.end() || hash[num] == 0) continue; hash[num]--; ans.push_back(num); } return ans; } };'Algorithm > 문제풀이' 카테고리의 다른 글
[Leetcode] 15. 3Sum 문제풀이 (0) 2021.09.18 [Leetcode] 82. Remove Duplicates from Sorted List II 문제 풀이 (0) 2021.09.17 [Leetcode] 74. Search a 2D Matrix 문제 풀이 (0) 2021.09.14 [Leetcode] 33. Search in Rotated Sorted Array 문제 풀이 (0) 2021.09.14 [Leetcode] 34. Find First and Last Position of Element in Sorted Array 문제풀이 (0) 2021.09.14