刷题使我快乐,满脸开心.jpg

  • 来源:力扣(LeetCode)
  • 链接:https://leetcode.cn/problems/jewels-and-stones
  • 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

题目

给你一个字符串 jewels 代表石头中宝石的类型,另有一个字符串 stones 代表你拥有的石头。 stones 中每个字符代表了一种你拥有的石头的类型,你想知道你拥有的石头中有多少是宝石。

字母区分大小写,因此 "a" 和 "A" 是不同类型的石头。

示例 1:

输入:jewels = "aA", stones = "aAAbbbb"
输出:3

示例 2:

输入:jewels = "z", stones = "ZZ"
输出:0

提示:

  • 1 <= jewels.length, stones.length <= 50
  • jewelsstones 仅由英文字母组成
  • jewels 中的所有字符都是 唯一的

思路

哈希表

代码

func numJewelsInStones(jewels string, stones string) int {
    jewelsCount := 0
    jewelsSet := map[byte]bool{}
    for i := range jewels {
        jewelsSet[jewels[i]] = true
    }
    for i := range stones {
        if jewelsSet[stones[i]] {
            jewelsCount++
        }
    }
    return jewelsCount
}