Leetcode刷题笔记 Top 100 Liked Questions和Top Interview Questions

771.Jewels and Stones

 1、题目描述

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.


解法(1)

class Solution:
    def numJewelsInStones(self, J: str, S: str) -> int:
        if len(J)>50 or len(S)>50:
            return 0
        num=0
        for i in range(len(J)):
            for j in range(len(S)):
                if J[i]==S[j]:
                    num+=1
        return num

解法(2)

class Solution:
    def numJewelsInStones(self, J: str, S: str) -> int:
        return sum(map(J.count,S))

 

map(A,B) 会根据提供的函数对指定序列做映射。
第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。
    map(square, [1,2,3,4,5])   # 计算列表各个元素的平方
      [1,4,9,16,25]

()

  

你可能感兴趣的:(Leetcode)