# 时间复杂度较高 O(N^2)
def numJewelsInStones(J, S):
    # count = 0
    # for i in S:
    #     if i in J:
    #         count+=1
    # print(count)
    return sum([i in J for i in S])


print(numJewelsInStones("aA", "aAAbbbb"))  # 预期输出 3




# o(n)的版本
def numJewelsInStones(J, S):
    stores = {}
    for c in S:
        if c in stores:
            stores[c] = stores[c] + 1
        else:
            stores[c] = 1

    count = 0
    for c in J:
        if c in stores:
            count += stores[c]
    print(count)


J = "aA"
S = "aAAbbbb"
numJewelsInStones(J, S)
J = "z"
S = "ZZ"
numJewelsInStones(J, S)