1. 程式人生 > >【leetcode】771. Jewels and Stones

【leetcode】771. Jewels and Stones

一、題目描述

You're given strings J representing the types of stones that are jewels, and S representing the stones you have.  Each character in S is a type of stone you have.  You want to know how many of the stones you have are also jewels.

The letters in J

 are guaranteed distinct, and all characters in J and S are letters. Letters are case sensitive, so "a" is considered a different type of stone from "A".

Example 1:

Input: J = "aA", S = "aAAbbbb"
Output: 3

Example 2:

Input: J = "z", S = "ZZ"
Output:
0

Note:

  • S and J will consist of letters and have length at most 50.
  • The characters in J are distinct.

題目解讀:

輸入兩個字串J和S,J字串中包含的字母表示是寶石,判斷S中有多少個寶石

go語言解法:

func numJewelsInStones(J string, S string) int {
    n1 := len(J)
    flag := make(map[byte]int)
    for i:=0; i<n1;i++{
            flag[J[i]] = 1
    }
    count := 0
    n2 := len(S)
    for i:=0; i<n2;i++{
            if flag[S[i]] == 1{
                    count++
            }
    }
    return count
}