Skip to content

Commit f9302f7

Browse files
solves decrypt string from alphabet to integer mapping
1 parent 2b82db8 commit f9302f7

File tree

2 files changed

+37
-1
lines changed

2 files changed

+37
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,7 @@
336336
| 1295 | [Find Numbers With Even Numbers of Digits](https://leetcode.com/problems/find-numbers-with-even-number-of-digits) | [![Java](assets/java.png)](src/FindNumbersWithEvenNumbersOfDigits.java) [![Python](assets/python.png)](python/find_numbers_with_even_number_of_digits.py) | |
337337
| 1299 | [Replace Elements With Greatest Element on Right Side](https://leetcode.com/problems/replace-elements-with-greatest-element-on-right-side) | [![Java](assets/java.png)](src/ReplaceElementWithGreatestElementOnRightSide.java) [![Python](assets/python.png)](python/replace_element_with_greatest_element_on_right_hand_side.py) | |
338338
| 1304 | [Find N Unique Integers Sum Up To Zero](https://leetcode.com/problems/find-n-unique-integers-sum-up-to-zero) | [![Java](assets/java.png)](src/FindNUniqueIntegersSumUpToZero.java) | |
339-
| 1309 | [Decrypt String From Alphabet To Integer Mapping](https://leetcode.com/problems/decrypt-string-from-alphabet-to-integer-mapping) | | |
339+
| 1309 | [Decrypt String From Alphabet To Integer Mapping](https://leetcode.com/problems/decrypt-string-from-alphabet-to-integer-mapping) | [![Java](assets/java.png)](src/DecryptStringFromAlphabetToIntegerMapping.java) | |
340340
| 1313 | [Decompress Run-Length Encoded Strings](https://leetcode.com/problems/decompress-run-length-encoded-list) | | |
341341
| 1317 | [Convert Integer to Sum Of Two Non-Zero Integers](https://leetcode.com/problems/convert-integer-to-the-sum-of-two-no-zero-integers) | | |
342342
| 1323 | [Maximum 69 Number](https://leetcode.com/problems/maximum-69-number) | | |
Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
import java.util.LinkedList;
2+
import java.util.Queue;
3+
4+
public class DecryptStringFromAlphabetToIntegerMapping {
5+
public String freqAlphabets(String s) {
6+
final StringBuilder result = new StringBuilder();
7+
final Queue<Character> queue = new LinkedList<>();
8+
for (int index = 0 ; index < s.length() ; index++) {
9+
if (queue.size() == 2) {
10+
if (s.charAt(index) == '#') {
11+
result.append(numberToChar(queue.poll(), queue.poll()));
12+
continue;
13+
} else {
14+
result.append(numberToChar(queue.poll()));
15+
}
16+
}
17+
queue.add(s.charAt(index));
18+
}
19+
while (!queue.isEmpty()) {
20+
result.append(numberToChar(queue.poll()));
21+
}
22+
return result.toString();
23+
}
24+
25+
private char numberToChar(char a, char b) {
26+
return numberToChar(10 * (a - '0') + (b - '0'));
27+
}
28+
29+
private char numberToChar(char digit) {
30+
return numberToChar(digit - '0');
31+
}
32+
33+
private char numberToChar(int digit) {
34+
return (char) (digit + 'a' - 1);
35+
}
36+
}

0 commit comments

Comments
 (0)