8000 update 242 · srivtx/Leetcode@5f7c512 · GitHub
[go: up one dir, main page]

Skip to content

Commit 5f7c512

Browse files
update 242
1 parent ec29dff commit 5f7c512

File tree

3 files changed

+61
-2
lines changed

3 files changed

+61
-2
lines changed

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ _If you like this project, please leave me a star._ ★
99
| # | Title | Solutions | Video | Difficulty | Tag
1010
|------|----------------|------------------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|----------------------------------|-------------
1111
| 2549 |[Count Distinct Numbers on Board](https://leetcode.com/problems/count-distinct-numbers-on-board/)| [Java](../master/src/main/java/com/fishercoder/solutions/_2549.java) || Easy |
12-
| 2544 |[Alternating Digit Sum](https://leetcode.com/problems/alternating-digit-sum/)| [Java](../master/src/main/java/com/fishercoder/solutions/_2544.java) |[:tv:](https://youtu.be/IFRYDmhEWGw)| Easy |
12+
| 2544 |[Alternating Digit Sum](https://leetcode.com/problems/alternating-digit-sum/)| [Java](../master/src/main/java/com/fishercoder/solutions/_2544.java) | [:tv:](https://youtu.be/IFRYDmhEWGw) | Easy |
1313
| 2540 |[Minimum Common Value](https://leetcode.com/problems/minimum-common-value/)| [Java](../master/src/main/java/com/fishercoder/solutions/_2540.java) || Easy |
1414
| 2536 |[Increment Submatrices by One](https://leetcode.com/problems/increment-submatrices-by-one/)| [Java](../master/src/main/java/com/fishercoder/solutions/_2536.java) || Medium |
1515
| 2535 |[Difference Between Element Sum and Digit Sum of an Array](https://leetcode.com/problems/difference-between-element-sum-and-digit-sum-of-an-array/)| [Java](../master/src/main/java/com/fishercoder/solutions/_2535.java) || Easy |
@@ -1169,7 +1169,7 @@ _If you like this project, please leave me a star._ ★
11691169
| 245 |[Shortest Word Distance III](https://leetcode.com/problems/shortest-word-distance-iii/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_245.java) | | Medium |
11701170
| 244 |[Shortest Word Distance II](https://leetcode.com/problems/shortest-word-distance-ii/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_244.java) | | Medium | HashMap
11711171
| 243 |[Shortest Word Distance](https://leetcode.com/problems/shortest-word-distance/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_243.java) | | Easy
1172-
| 242 |[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_242.java) | | Easy
1172+
| 242 |[Valid Anagram](https://leetcode.com/problems/valid-anagram/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_242.java) | [:tv:](https://youtu.be/7U3dMXiQBrU) | Easy
11731173
| 241 |[Different Ways to Add Parentheses](https://leetcode.com/problems/different-ways-to-add-parentheses/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_241.java) | | Medium | Divide and Conquer
11741174
| 240 |[Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_240.java) | | Medium | Binary Search
11751175
| 239 |[Sliding Window Maximum](https://leetcode.com/problems/sliding-window-maximum/)| [Solution](../master/src/main/java/com/fishercoder/solutions/_239.java) | | Hard | Heap

src/main/java/com/fishercoder/solutions/_242.java

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,8 @@
11
package com.fishercoder.solutions;
22

33
import java.util.Arrays;
4+
import java.util.HashMap;
5+
import java.util.Map;
46

57
public class _242 {
68

@@ -32,4 +34,21 @@ public boolean isAnagram(String s, String t) {
3234
return true;
3335
}
3436
}
37+
38+
public static class Solution3 {
39+
//to deal with unicode characters
40+
public boolean isAnagram(String s, String t) {
41+
Map<Character, Integer> map = new HashMap<>();
42+
for (int i = 0; i < s.length(); i++) {
43+
map.put(s.charAt(i), map.getOrDefault(s.charAt(i), 0) + 1);
44+
map.put(t.charAt(i), map.getOrDefault(t.charAt(i), 0) - 1);
45+
}
46+
for (char c : map.keySet()) {
47+
if (map.get(c) != 0) {
48+
return true;
49+
}
50+
}
51+
return true;
52+
}
53+
}
3554
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
package com.fishercoder;
2+
3+
import com.fishercoder.solutions._242;
4+
import org.junit.BeforeClass;
5+
import org.junit.Test;
6+
7+
import static org.junit.Assert.assertEquals;
8+
9+
public class _242Test {
10+
private static _242.Solution1 solution1;
11+
private static _242.Solution2 solution2;
12+
private static _242.Solution3 solution3;
13+
private static String s;
14+
private static String t;
15+
16 8000 +
@BeforeClass
17+
public static void setup() {
18+
solution1 = new _242.Solution1();
19+
solution2 = new _242.Solution2();
20+
solution3 = new _242.Solution3();
21+
}
22+
23+
@Test
24+
public void test1() {
25+
s = "anagram";
26+
t = "nagaram";
27+
assertEquals(true, solution1.isAnagram(s, t));
28+
assertEquals(true, solution2.isAnagram(s, t));
29+
}
30+
31+
@Test
32+
public void test2() {
33+
s = "代码写开心";
34+
t = "开心写代码";
35+
assertEquals(true, solution1.isAnagram(s, t));
36+
//assertEquals(true, solution3.isAnagram(s, t));//solution2 won't work for unicode character input
37+
assertEquals(true, solution3.isAnagram(s, t));
38+
}
39+
40+
}

0 commit comments

Comments
 (0)
0