哈希表:Ransom Note Hackerrank(Python)

哈希表:Ransom Note Hackerrank(Python),python,dictionary,hashmap,counter,Python,Dictionary,Hashmap,Counter,哈罗德是一名绑匪,他写了一张赎金便条,但现在他担心这会通过他的笔迹追溯到他。他找到了一本杂志,想知道他是否能从杂志上剪下整句话,并用它们来制作一份无法追踪的赎金记录副本。他便条中的文字区分大小写,他必须只使用杂志上的全部文字。他不能使用子字符串或连接来创建所需的单词 根据杂志上的文字和赎金单上的文字,如果他能准确地使用杂志上的全部文字复制赎金单,则打印“是”;否则,请打印“否” 例如,注释是“拂晓进攻”。该杂志只刊载“黎明进攻”。杂志上的字眼都对,但有一个案例不匹配。答案是否定的 我有5个测试不

哈罗德是一名绑匪,他写了一张赎金便条,但现在他担心这会通过他的笔迹追溯到他。他找到了一本杂志,想知道他是否能从杂志上剪下整句话,并用它们来制作一份无法追踪的赎金记录副本。他便条中的文字区分大小写,他必须只使用杂志上的全部文字。他不能使用子字符串或连接来创建所需的单词

根据杂志上的文字和赎金单上的文字,如果他能准确地使用杂志上的全部文字复制赎金单,则打印“是”;否则,请打印“否”

例如,注释是“拂晓进攻”。该杂志只刊载“黎明进攻”。杂志上的字眼都对,但有一个案例不匹配。答案是否定的

我有5个测试不及格,我很难解释为什么。欢迎任何帮助。谢谢

def检查刀库(刀库,注释):
c1=计数器(刀库)
c2=计数器(注)

如果(c2.items()您不能只比较c1.items()和c2.items()。无法保证项目的顺序。请尝试一个简短的示例,打印出c1.items()和c2.items()。元组比较不是这样工作的

相反,您可以执行以下操作:

all(c1[key] >= c2[key] for key in c2.keys())
它会逐个检查c2中出现的每个字母,并确保库中有那么多键

您可能还想忽略空格!如果声称您无法生成赎金便条,因为杂志中没有足够的空格,那将很有趣。

类似这样的内容:
all(c1[key] >= c2[key] for key in c2.keys())