383. Ransom Note
Given an arbitrary ransom note string and another string containing letters from all the magazines, write a function that will return true if the ransom note can be constructed from the magazines ; otherwise, it will return false.
Each letter in the magazine string can only be used once in your ransom note.
Note:
You may assume that both strings contain only lowercase letters.
canConstruct("a", "b") -> false
canConstruct("aa", "ab") -> false
canConstruct("aa", "aab") -> true
思路:
先用set()消除 ransomNote 中重复的元素 ,再用 count() 计算 magazine 中对应元素的个数是否小于 ransomNote 中的个数。(因为 magazine 中的字符每个只能用一次)
代码:
class Solution:
def canConstruct(self, ransomNote, magazine):
"""
:type ransomNote: str
:type magazine: str
:rtype: bool
"""
for i in set(ransomNote):
if magazine.count(i) < ransomNote.count(i):
return False
return True
本文介绍了一种用于判断勒索信是否能通过给定杂志字符串构建的算法。该算法首先去除勒索信中重复的字母,然后检查杂志字符串中这些字母的数量是否足够。文章包含完整的Python实现代码。
913

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



