Find the Difference of Two Arrays - LeetCode
주어진 두 개의 정수 배열 nums1 및 nums2에 대해 다음을 반환합니다:
- answer[0]: nums1에만 있고 nums2에 없는 모든 고유한 정수 목록.
- answer[1]: nums2에만 있고 nums1에 없는 모든 고유한 정수 목록.
Given two 0-indexed integer arrays nums1 and nums2, return a list answer of size 2 where:
Note that the integers in the lists may be returned in any order.
Example 1:
Input: nums1 = [1,2,3], nums2 = [2,4,6]
Output: [[1,3],[4,6]]
Explanation:
For nums1, nums1[1] = 2 is present at index 0 of nums2, whereas nums1[0] = 1 and nums1[2] = 3 are not present in nums2. Therefore, answer[0] = [1,3].
For nums2, nums2[0] = 2 is present at index 1 of nums1, whereas nums2[1] = 4 and nums2[2] = 6 are not present in nums2. Therefore, answer[1] = [4,6].
Example 2:
Input: nums1 = [1,2,3,3], nums2 = [1,1,2,2]
Output: [[3],[]]
Explanation:
For nums1, nums1[2] and nums1[3] are not present in nums2. Since nums1[2] == nums1[3], their value is only included once and answer[0] = [3].
Every integer in nums2 is present in nums1. Therefore, answer[1] = [].
문제 요약:
두 배열 간의 고유한 정수를 찾아내어 각 배열에서 서로 다른 정수 목록을 반환해야 합니다.
풀이과정:
이렇게 하면 두 배열의 서로 다른 정수를 찾을 수 있습니다.
class Solution {
public List<List<Integer>> findDifference(int[] nums1, int[] nums2) {
List<List<Integer>> retList = new ArrayList<List<Integer>>();
Set<Integer> set1 = new HashSet<>();
Set<Integer> set2 = new HashSet<>();
for(int no : nums1) {
set1.add(no);
}
for(int no : nums2) {
set2.add(no);
}
List<Integer> list1 = new ArrayList<>();
List<Integer> list2 = new ArrayList<>();
for(int no1 : set1) {
if(!set2.contains(no1)) {
list1.add(no1);
}
}
for(int no2 : set2) {
if(!set1.contains(no2)) {
list2.add(no2);
}
}
retList.add(list1);
retList.add(list2);
return retList;
}
}
199. Binary Tree Right Side View (0) | 2023.10.29 |
---|---|
1207. Unique Number of Occurrences (0) | 2023.10.29 |
1448. Count Good Nodes in Binary Tree (0) | 2023.10.26 |
872. Leaf-Similar Trees (0) | 2023.10.26 |
104. Maximum Depth of Binary Tree (0) | 2023.10.26 |