Leetcode 1189. “气球” 的最大数量

Leetcode 1189. “气球” 的最大数量

题目

给你一个字符串 text,你需要使用 text 中的字母来拼凑尽可能多的单词 "balloon"(气球)。

字符串 text 中的每个字母最多只能被使用一次。请你返回最多可以拼凑出多少个单词 "balloon"。

示例 1:

在这里插入图片描述

输入:text = "nlaebolko"
输出:1

示例 2:

在这里插入图片描述

输入:text = "loonbalxballpoon"
输出:2

示例 3:

输入:text = “leetcode”
输出:0

思路

  • 用map存放balloon对应的字符和出现的次数
  • 使用strings.Count函数统计text字符串的对应的出现的次数
  • 取每个字符的拼凑值的最小值即可

代码 —— golang

func maxNumberOfBalloons(text string) int {
	res := math.MaxInt32
	str := map[string]int {
		"b": 1,
		"a": 1,
		"l": 2,
		"o": 2,
		"n": 1,
	}
	
	for ch, mod := range str {
		count := strings.Count(text, string(ch))
		res = int(math.Min(float64(res), float64(count / mod)))
	}

	return res
}

你可能感兴趣的:(随心刷题记录,leetcode)