Skip to content

Latest commit

 

History

History
52 lines (45 loc) · 1.34 KB

File metadata and controls

52 lines (45 loc) · 1.34 KB

1189. Maximum Number of Balloons

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:

Input: text = "nlaebolko"
Output: 1

Example 2:

Input: text = "loonbalxballpoon"
Output: 2

Example 3:

Input: text = "leetcode"
Output: 0

Constraints:

  • 1 <= text.length <= 10^4
  • text consists of lower case English letters only.

Solutions (Rust)

1. Count

impl Solution {
    pub fn max_number_of_balloons(text: String) -> i32 {
        let mut cnt = [0, 0, 0, 0, 0];
        for ch in text.chars() {
            match ch {
                'b' => cnt[0] += 1,
                'a' => cnt[1] += 1,
                'l' => cnt[2] += 1,
                'o' => cnt[3] += 1,
                'n' => cnt[4] += 1,
                _ => (),
            };
        }
        cnt[2] /= 2;
        cnt[3] /= 2;
        *cnt.iter().min().unwrap()
    }
}