Skip to content

Commit 6d40e1f

Browse files
solves maximum number of balloons
1 parent 12fea5b commit 6d40e1f

File tree

3 files changed

+52
-4
lines changed

3 files changed

+52
-4
lines changed

README.md

+4-4
Original file line numberDiff line numberDiff line change
@@ -310,11 +310,11 @@
310310
| 1165 | [Single Row Keyboard](https://leetcode.com/problems/single-row-keyboard) | [![Java](assets/java.png)](src/FindWordsThatCanBeFormedByCharacters.java) | |
311311
| 1170 | [Compare Strings By Frequency of the Smallest Character](https://leetcode.com/problems/compare-strings-by-frequency-of-the-smallest-character) | | |
312312
| 1175 | [Prime Arrangements](https://leetcode.com/problems/prime-arrangements) | [![Java](assets/java.png)](src/PrimeArrangements.java) | |
313-
| 1176 | [Diet Plan Performance](https://leetcode.com/problems/diet-plan-performance) | | |
314-
| 1180 | [Count Substrings with only one Distinct Letter](https://leetcode.com/problems/count-substrings-with-only-one-distinct-letter) | | |
313+
| 1176 | 🔒 [Diet Plan Performance](https://leetcode.com/problems/diet-plan-performance) | | |
314+
| 1180 | 🔒 [Count Substrings with only one Distinct Letter](https://leetcode.com/problems/count-substrings-with-only-one-distinct-letter) | | |
315315
| 1184 | [Distance Between Bus Stops](https://leetcode.com/problems/distance-between-bus-stops) | [![Java](assets/java.png)](src/DistanceBetweenBusStops.java) | |
316-
| 1185 | [Day of the Week](https://leetcode.com/problems/day-of-the-week) | | |
317-
| 1189 | [Maximum Number of Balloons](https://leetcode.com/problems/maximum-number-of-balloons) | | |
316+
| 1185 | [Day of the Week](https://leetcode.com/problems/day-of-the-week) | [![Java](assets/java.png)](src/DayOfWeek.java) | |
317+
| 1189 | [Maximum Number of Balloons](https://leetcode.com/problems/maximum-number-of-balloons) | [![Java](assets/java.png)](src/MaximumNumberOfBalloons.java) | |
318318
| 1196 | [How Many Apples Can You Put into the Basket](https://leetcode.com/problems/how-many-apples-can-you-put-into-the-basket) | | |
319319
| 1200 | [Minimum Absolute Difference](https://leetcode.com/problems/minimum-absolute-difference) | | |
320320
| 1207 | [Unique Number of Occurrences](https://leetcode.com/problems/unique-number-of-occurrences) | | |

src/DayOfWeek.java

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
import java.time.LocalDate;
2+
3+
public class DayOfWeek {
4+
public String dayOfTheWeek(int day, int month, int year) {
5+
LocalDate date = LocalDate.of(year, month, day);
6+
return switch (date.getDayOfWeek()) {
7+
case MONDAY -> "Monday";
8+
case TUESDAY -> "Tuesday";
9+
case WEDNESDAY -> "Wednesday";
10+
case THURSDAY -> "Thursday";
11+
case FRIDAY -> "Friday";
12+
case SATURDAY -> "Saturday";
13+
case SUNDAY -> "Sunday";
14+
};
15+
}
16+
}

src/MaximumNumberOfBalloons.java

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
import java.util.HashMap;
2+
import java.util.Map;
3+
import java.util.Set;
4+
5+
public class MaximumNumberOfBalloons {
6+
private static final Set<Character> BALLOON_CHARACTERS = Set.of('b', 'a', 'l', 'o', 'n');
7+
private static final Set<Character> BALLOON_DOUBLE_LETTERS = Set.of('l', 'o');
8+
9+
public int maxNumberOfBalloons(String text) {
10+
Map<Character, Integer> frequencies = getCharacterFrequencies(text);
11+
int result = Integer.MAX_VALUE;
12+
for (char character : BALLOON_CHARACTERS) {
13+
result = Math.min(result, frequencies.getOrDefault(character, 0));
14+
}
15+
return result;
16+
}
17+
18+
private Map<Character, Integer> getCharacterFrequencies(String string) {
19+
final Map<Character, Integer> frequencies = new HashMap<>();
20+
char character;
21+
for (int i = 0 ; i < string.length() ; i++) {
22+
character = string.charAt(i);
23+
if (BALLOON_CHARACTERS.contains(character)) {
24+
frequencies.put(character, frequencies.getOrDefault(character, 0) + 1);
25+
}
26+
}
27+
for (char letter : BALLOON_DOUBLE_LETTERS) {
28+
frequencies.put(letter, frequencies.getOrDefault(letter, 0) / 2);
29+
}
30+
return frequencies;
31+
}
32+
}

0 commit comments

Comments
 (0)