250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(Leet Code c++)Intersection of Two Arrays2 본문
728x90
반응형
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.
Example 1:
Input: nums1 = [1,2,2,1], nums2 = [2,2] Output: [2,2]
Example 2:
Input: nums1 = [4,9,5], nums2 = [9,4,9,8,4] Output: [4,9] Explanation: [9,4] is also accepted.
Constraints:
- 1 <= nums1.length, nums2.length <= 1000
- 0 <= nums1[i], nums2[i] <= 1000
주어진 nums1과 nums2의 공통 원소를 벡터에 담아 리턴.
우선 nums1의 원소를 카운팅 한다.
중복되는 원소도 겹치는 수만큼 담아야 하기 때문이다.
check 벡터에 nums1의 원소 개수를 카운팅.
이후 num2의 원소를 확인하면서 check 벡터에서 1개 이상인 원소는 answer에 담는다.
answer에 담은 경우 check에 있는 해당 원소 카운팅을 줄이면 된다.
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
vector<int> check(1001, 0);
vector<int> answer;
for(int i = 0; i < nums1.size(); i++){
check[nums1[i]]++;
}
for(int i = 0; i < nums2.size(); i++){
if(check[nums2[i]] > 0){
answer.push_back(nums2[i]);
check[nums2[i]]--;
}
}
return answer;
}
};
728x90
반응형
'Leet Code 알고리즘' 카테고리의 다른 글
(Leet Code c++)Cuess Number Higher or Lower (0) | 2021.08.09 |
---|---|
(Leet Code c++)Valid Perfect Square (0) | 2021.08.04 |
(Leet Code c++)Intersection of Two Arrays (0) | 2021.08.03 |
(Leet Code c++)Reverse Vowels of a String (0) | 2021.08.03 |
(Leet Code c++)Power of Four (0) | 2021.08.03 |