网站开发入帐分录,wordpress iis8.5,网站顶部,广州建网站模板笔记介绍#xff1a;
本项目是datawhale发布的LeetCode 算法笔记#xff08;Leetcode-Notes#xff09;课程完成笔记#xff0c;根据推荐题目循序渐进练习算法题目。主要用python进行书写相关代码#xff0c;会介绍解题思路及跑通解法。
0771. 宝石与石头
题目大意
描…笔记介绍
本项目是datawhale发布的LeetCode 算法笔记Leetcode-Notes课程完成笔记根据推荐题目循序渐进练习算法题目。主要用python进行书写相关代码会介绍解题思路及跑通解法。
0771. 宝石与石头
题目大意
描述给定一个字符串 jewels 代表石头中宝石的类型再给定一个字符串 stones 代表你拥有的石头。stones 中每个字符代表了一种你拥有的石头的类型。
要求计算出拥有的石头中有多少是宝石。
说明
字母区分大小写因此 a 和 A 是不同类型的石头。 1 ≤ j e w e l s . l e n g t h , s t o n e s . l e n g t h ≤ 50 1 \le jewels.length, stones.length \le 50 1≤jewels.length,stones.length≤50。jewels 和 stones 仅由英文字母组成。jewels 中的所有字符都是唯一的。
示例 示例 1 输入jewels aA, stones aAAbbbb
输出3示例 2 输入jewels z, stones ZZ
输出0解题思路
我们需要统计字符串 stones 中出现在字符串 jewels 中的字符数量。为了高效地进行统计我们可以先将 jewels 字符串转换为一个集合 jewelsSet这样我们可以在 O ( 1 ) O(1) O(1) 的时间复杂度内查询一个字符是否是宝石。然后遍历 stones 字符串对于每个字符如果它存在于 jewelsSet 中就将计数器加一。
解题 Python 代码
def analysis(jewelsSet: list, stones: list):return sum(s in jewelsSet for s in stones)def main():# 主要逻辑代码input_jewelsSet list(input(请输入宝石字符集以空格分隔:).split())input_stones list(input(请输入拥有的石头字符集以空格分隔:).split())print(拥有的宝石数量:, analysis(input_jewelsSet, input_stones))if __name__ __main__:main()