All Downloads are FREE. Search and download functionalities are using the official Maven repository.

g1101_1200.s1189_maximum_number_of_balloons.Solution Maven / Gradle / Ivy

There is a newer version: 1.38
Show newest version
package g1101_1200.s1189_maximum_number_of_balloons;

// #Easy #String #Hash_Table #Counting #2022_03_03_Time_3_ms_(68.13%)_Space_41.5_MB_(50.00%)

/**
 * 1189 - Maximum Number of Balloons\.
 *
 * Easy
 *
 * Given a string `text`, you want to use the characters of `text` to form as many instances of the word **"balloon"** as possible.
 *
 * You can use each character in `text` **at most once**. Return the maximum number of instances that can be formed.
 *
 * **Example 1:**
 *
 * **![](https://assets.leetcode.com/uploads/2019/09/05/1536_ex1_upd.JPG)**
 *
 * **Input:** text = "nlaebolko"
 *
 * **Output:** 1
 *
 * **Example 2:**
 *
 * **![](https://assets.leetcode.com/uploads/2019/09/05/1536_ex2_upd.JPG)**
 *
 * **Input:** text = "loonbalxballpoon"
 *
 * **Output:** 2
 *
 * **Example 3:**
 *
 * **Input:** text = "leetcode"
 *
 * **Output:** 0
 *
 * **Constraints:**
 *
 * *   1 <= text.length <= 104
 * *   `text` consists of lower case English letters only.
**/
public class Solution {
    public int maxNumberOfBalloons(String text) {
        int[] counts = new int[26];
        for (char c : text.toCharArray()) {
            counts[c - 'a']++;
        }
        return Math.min(
                counts[0],
                Math.min(
                        counts[1], Math.min(counts[11] / 2, Math.min(counts[14] / 2, counts[13]))));
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy