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]

()

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值