
可以使用 Python 代码来解决这个问题:
def numJewelsInStones(jewels: str, stones: str) -> int:
jewel_set = set(jewels) # 使用集合存储宝石类型,加速查找
return sum(stone in jewel_set for stone in stones) # 统计 stones 中是宝石的个数
# 示例
jewels = "aA"
stones = "aAAbbbb"
print(numJewelsInStones(jewels, stones)) # 输出 3
解释:
-
将
jewels转换为集合jewel_set,这样查找操作的时间复杂度是 O(1)。 -
遍历
stones,统计其中属于jewel_set的字符数量。 -
使用
sum()进行计数,最终返回结果。
这个方法的时间复杂度是 O(m + n),其中 m 是 jewels 的长度,n 是 stones 的长度,效率很高。
372

被折叠的 条评论
为什么被折叠?



