Skip to content

Commit 4ed6fc5

Browse files
solves twoout of three
1 parent 2594a63 commit 4ed6fc5

File tree

2 files changed

+36
-1
lines changed

2 files changed

+36
-1
lines changed

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -484,7 +484,7 @@
484484
| 2016 | [Maximum Difference Between Increasing Elements](https://leetcode.com/problems/maximum-difference-between-increasing-elements) | [![Java](assets/java.png)](src/MaximumDifferenceBetweenIncreasingElements.java) | |
485485
| 2022 | [Convert 1D Array Into 2D Array](https://leetcode.com/problems/convert-1d-array-into-2d-array) | [![Java](assets/java.png)](src/Convert1DArrayInto2DArray.java) | |
486486
| 2027 | [Minimum Moves to Convert String](https://leetcode.com/problems/minimum-moves-to-convert-string) | [![Java](assets/java.png)](src/MinimumMovesToConvertString.java) | |
487-
| 2032 | [Two Out of Three](https://leetcode.com/problems/two-out-of-three) | | |
487+
| 2032 | [Two Out of Three](https://leetcode.com/problems/two-out-of-three) | [![Java](assets/java.png)](src/TwoOutOfThree.java) | |
488488
| 2037 | [Minimum Number of Moves to Seat Everyone](https://leetcode.com/problems/minimum-number-of-moves-to-seat-everyone) | | |
489489
| 2042 | [Check if Numbers Are Ascending in a Sentence](https://leetcode.com/problems/check-if-numbers-are-ascending-in-a-sentence) | | |
490490
| 2047 | [Number of Valid Words in a Sentence](https://leetcode.com/problems/number-of-valid-words-in-a-sentence) | | |

src/TwoOutOfThree.java

+35
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
// https://leetcode.com/problems/two-out-of-three
2+
// T: O(|nums1| + |nums2| + |nums3|)
3+
// S: O(|nums1| + |nums2| + |nums3|)
4+
5+
import java.util.ArrayList;
6+
import java.util.HashSet;
7+
import java.util.List;
8+
import java.util.Set;
9+
10+
public class TwoOutOfThree {
11+
public List<Integer> twoOutOfThree(int[] nums1, int[] nums2, int[] nums3) {
12+
final Set<Integer> set1 = getElements(nums1);
13+
final Set<Integer> set2 = getElements(nums2);
14+
final Set<Integer> set3 = getElements(nums3);
15+
final Set<Integer> resultElements = new HashSet<>();
16+
for (int element : set1) {
17+
if (set2.contains(element) || set3.contains(element)) {
18+
resultElements.add(element);
19+
}
20+
}
21+
for (int element : set2) {
22+
if (set3.contains(element)) resultElements.add(element);
23+
}
24+
// return resultElements.stream().toList(); // cant be used because LeetCode is still on a previous version of Java
25+
return new ArrayList<>(resultElements);
26+
}
27+
28+
private Set<Integer> getElements(int[] array) {
29+
final Set<Integer> set = new HashSet<>();
30+
for (int element : array) {
31+
set.add(element);
32+
}
33+
return set;
34+
}
35+
}

0 commit comments

Comments
 (0)