Skip to content

Commit fb7def1

Browse files
solves unique morse code mappings
1 parent 8d6ccf9 commit fb7def1

File tree

2 files changed

+35
-3
lines changed

2 files changed

+35
-3
lines changed

README.md

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# LeetCode Algorithms
22

3-
![problems-solved](https://img.shields.io/badge/Problems%20Solved-187/2081-1f425f.svg)
4-
![problems-solved-java](https://img.shields.io/badge/Java-187/2081-1abc9c.svg)
3+
![problems-solved](https://img.shields.io/badge/Problems%20Solved-188/2081-1f425f.svg)
4+
![problems-solved-java](https://img.shields.io/badge/Java-188/2081-1abc9c.svg)
55
![problems-solved-python](https://img.shields.io/badge/Python-186/2081-1abc9c.svg)
66
[![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg)](CONTRIBUTING.md)
77
[![cp](https://img.shields.io/badge/also%20see-Competitve%20Programming-1f72ff.svg)](https://github.com/anishLearnsToCode/competitive-programming)
@@ -216,7 +216,7 @@
216216
| 788 | [Rotated Digits](https://leetcode.com/problems/rotated-digits) | |
217217
| 796 | [Rotate String](https://leetcode.com/problems/rotate-string) | [![Java](assets/java.png)](src/RotateString.java) |
218218
| 800 | [Similar RGB Color](https://leetcode.com/problems/similar-rgb-color) | |
219-
| 804 | [Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words) | |
219+
| 804 | [Unique Morse Code Words](https://leetcode.com/problems/unique-morse-code-words) | [![Java](assets/java.png)](src/UniqueMorseCodeWords.java) |
220220
| 806 | [Number of Lines to Write String](https://leetcode.com/problems/number-of-lines-to-write-string) | |
221221
| 811 | [Subdomain Visit Count](https://leetcode.com/problems/subdomain-visit-count) | |
222222
| 812 | [Largest Triangle Area](https://leetcode.com/problems/largest-triangle-area) | |

src/UniqueMorseCodeWords.java

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import java.util.HashSet;
2+
import java.util.Set;
3+
4+
public class UniqueMorseCodeWords {
5+
private final String[] morseCodeMapping = new String[] {
6+
".-","-...","-.-.","-..",".","..-.",
7+
"--.","....","..",".---","-.-",".-..",
8+
"--","-.","---",".--.","--.-",".-.",
9+
"...","-","..-","...-",".--","-..-",
10+
"-.--","--.."
11+
};
12+
13+
public int uniqueMorseRepresentations(String[] words) {
14+
Set<String> transformations = new HashSet<>();
15+
for (String word : words) {
16+
transformations.add(morseValue(word));
17+
}
18+
return transformations.size();
19+
}
20+
21+
private String morseValue(String word) {
22+
StringBuilder result = new StringBuilder();
23+
for (char character : word.toCharArray()) {
24+
result.append(morseValue(character));
25+
}
26+
return result.toString();
27+
}
28+
29+
private String morseValue(char character) {
30+
return morseCodeMapping[character - 'a'];
31+
}
32+
}

0 commit comments

Comments
 (0)