Skip to content

Commit c4401ee

Browse files
solves #2744: FindMaximumNumberOfStringPair in java
1 parent ea9ddb7 commit c4401ee

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

README.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -833,7 +833,7 @@
833833
| 2729 | [Check if The Number is Fascinating](https://leetcode.com/problems/check-if-the-number-is-fascinating) | [![Java](assets/java.png)](src/CheckIfTheNumberIsFascinating.java) | |
834834
| 2733 | [Neither Minimum nor Maximum](https://leetcode.com/problems/neither-minimum-nor-maximum) | [![Java](assets/java.png)](src/NeitherMinimumNorMaximum.java) | |
835835
| 2739 | [Total Distance Traveled](https://leetcode.com/problems/total-distance-traveled) | [![Java](assets/java.png)](src/TotalDistanceTraveled.java) | |
836-
| 2744 | [Find Maximum Number of String Pairs](https://leetcode.com/problems/find-maximum-number-of-string-pairs) | | |
836+
| 2744 | [Find Maximum Number of String Pairs](https://leetcode.com/problems/find-maximum-number-of-string-pairs) | [![Java](assets/java.png)](src/FindMaximumNumberOfStringPairs.java) | |
837837
| 2748 | [Number of Beautiful Pairs](https://leetcode.com/problems/number-of-beautiful-pairs) | | |
838838
| 2760 | [Longest Even Odd Subarray With Threshold](https://leetcode.com/problems/longest-even-odd-subarray-with-threshold) | | |
839839
| 2765 | [Longest Alternating Subarray](https://leetcode.com/problems/longest-alternating-subarray) | | |
+23
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
// https://leetcode.com/problems/find-maximum-number-of-string-pairs
2+
// T: O(N * |s|)
3+
// S: O(N * |s|)
4+
5+
import java.util.HashSet;
6+
import java.util.Set;
7+
8+
public class FindMaximumNumberOfStringPairs {
9+
public int maximumNumberOfStringPairs(String[] words) {
10+
final Set<String> strings = new HashSet<>();
11+
int pairs = 0;
12+
for (String word : words) {
13+
final String reversed = new StringBuilder(word).reverse().toString();
14+
if (strings.contains(reversed)) {
15+
pairs++;
16+
strings.remove(reversed);
17+
} else {
18+
strings.add(word);
19+
}
20+
}
21+
return pairs;
22+
}
23+
}

0 commit comments

Comments
 (0)