Notice
250x250
Recent Posts
Recent Comments
Link
넘치게 채우기
[LeetCode] 350. Intersection of Two Arrays II 본문
728x90
반응형
https://leetcode.com/problems/intersection-of-two-arrays-ii/description/
leetcode - Intersection of Two Arrays II
문제 유형 : 그리디, 정렬
문제 난이도 : Easy
문제
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.
두 정수 nums1과 nums2가 주어진다. 두 배열의 합집합을 구하시오.
요소는 여러 번 나올 수 있고, 순서는 상관없습니다.
풀이
두 배열을 정렬하고, 두 배열을 가리키는 인덱스를 하나씩 만든다.
둘다 인덱스 0부터 해서 같으면 둘다 같이 증가하고 ans에 추가, 아니라면 더 작은 쪽의 인덱스를 키운다.
두 배열의 순회가 끝나면, ans배열을 반환.
코드
C++
class Solution {
public:
vector<int> intersect(vector<int>& nums1, vector<int>& nums2) {
vector<int> ans;
sort(nums1.begin(), nums1.end());
sort(nums2.begin(), nums2.end());
int i = 0, j = 0;
while(i < nums1.size() && j < nums2.size()) {
if(nums1[i] == nums2[j]) {
ans.push_back(nums1[i]);
i++;
j++;
} else if(nums1[i] > nums2[j]) {
j++;
} else {
i++;
}
}
return ans;
}
};
728x90
반응형
'PS > LeetCode' 카테고리의 다른 글
[LeetCode] 2181. Merge Nodes in Between Zeros (0) | 2024.07.04 |
---|---|
[LeetCode] 1509. Minimum Difference Between Largest and Smallest Value in Three Moves (0) | 2024.07.03 |
[LeetCode] 1550. Three Consecutive Odds (0) | 2024.07.01 |
[LeetCode] 1579. Remove Max Number of Edges to Keep Graph Fully Traversable (0) | 2024.06.30 |
[LeetCode] 2192. All Ancestors of a Node in a Directed Acyclic Graph (0) | 2024.06.29 |