LeetCode简单题之赎金信

news/2024/11/25 17:38:05/

题目

给你两个字符串:ransomNote 和 magazine ,判断 ransomNote 能不能由 magazine 里面的字符构成。
如果可以,返回 true ;否则返回 false 。
magazine 中的每个字符只能在 ransomNote 中使用一次。
示例 1:
输入:ransomNote = “a”, magazine = “b”
输出:false
示例 2:
输入:ransomNote = “aa”, magazine = “ab”
输出:false
示例 3:
输入:ransomNote = “aa”, magazine = “aab”
输出:true
提示:
1 <= ransomNote.length, magazine.length <= 10^5
ransomNote 和 magazine 由小写英文字母组成
来源:力扣(LeetCode)

解题思路

  题目如果成立,首先magazine的长度一定不能小于ransomNote,其次magazine中与ransomNote中对应字符的频率前者要大于等于后者才行,但是也会存在前者长度较大但是里面没有前者的一些字符,这样也无法成立。总而言之,关键是需要统计字符的频率。

class Solution:def canConstruct(self, ransomNote: str, magazine: str) -> bool:d1={}d2={}for i in ransomNote:  #频率统计d1[i]=d1.get(i,0)+1for i in magazine:d2[i]=d2.get(i,0)+1for i in d1.keys(): try:    #尝试访问magazine中对应字符的频率,如果访问不到便是magazine中没有对应的字符if d2[i]<d1[i]: #如果magazine中对应字符没有足够的频率也不能成立return Falseexcept:return Falsereturn True

在这里插入图片描述


http://www.ppmy.cn/news/606280.html

相关文章

vtk创建点

使用vtk库创建三维空间中的点 引言开发环境示例一项目结构实现代码 运行效果示例二项目结构实现代码 运行效果总结 引言 本文仅适合初学者。 本文不提供vtk动态库的生成&#xff0c;以及在QtCreator中的引进vtk时的配置。 本文先由示例一开始&#xff0c;然后再在示例一的基础…

独家 | TensorFlow 2.0将把Eager Execution变为默认执行模式,你该转向动态计算图了...

机器之心报道 作者&#xff1a;邱陆陆 8 月中旬&#xff0c;谷歌大脑成员 Martin Wicke 在一封公开邮件中宣布&#xff0c;新版本开源框架——TensorFlow 2.0 预览版将在年底之前正式发布。今日&#xff0c;在上海谷歌开发者大会上&#xff0c;机器之心独家了解到一个重大的改变…

数据结构:栈及其应用

栈的初步认识栈的设计Stack接口ArrayStack类(栈的顺序存储具体实现)十进制和十六进制的互相转换十进制转为十六进制十六进制转为十进制判断回文有效的括号逆波兰表达式求值栈的初步认识 栈的设计 Stack接口 因为栈可以用顺序存储实现也可以用链式存储实现&#xff0c;所以把共…

LeetCode简单题之反转字符串

题目 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。 不要给另外的数组分配额外的空间&#xff0c;你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。 示例 1&#xff1a; 输入&#xff1a;s [“h”,“e”,“l”,…

pytorch nn.Embedding

pytorch nn.Embeddingclass torch.nn.Embedding(num_embeddings, embedding_dim, padding_idxNone, max_normNone, norm_type2, scale_grad_by_freqFalse, sparseFalse) num_embeddings (int) - 嵌入字典的大小 embedding_dim (int) - 每个嵌入向量的大小 padding_idx (int, op…

LeetCode简单题之Fizz Buzz

题目 给你一个整数 n &#xff0c;找出从 1 到 n 各个整数的 Fizz Buzz 表示&#xff0c;并用字符串数组 answer&#xff08;下标从 1 开始&#xff09;返回结果&#xff0c;其中&#xff1a; answer[i] “FizzBuzz” 如果 i 同时是 3 和 5 的倍数。 answer[i] “Fizz” 如果…

chown:修改权限

参考文章&#xff1a;Linux 命令&#xff08;31&#xff09;: chown 命令 功能&#xff1a;通过 chown 改变文件的拥有者和群组。在更改文件的所有者或所属群组时&#xff0c;可以使用用户名称和用户识别码设置。普通用户不能将自己的文件改变成其他的拥有者。其操作权限一般为…

[Spring MVC学习01] Spring MVC环境搭建以及工作流程了解

1.Spring MVC的初步了解1.1MVC是什么1.2 Spring MVC 是什么1.3Spring MVC可以帮我们做什么1.4工作原理2.Spring MVC环境搭建2.1开发环境2.2新建maven webapp2.3pom.xml坐标添加2.4配置web.xml2.5springmvc.xml配置2.6页面控制器的编写2.7添加视图页面2.8启动Tomcat服务器2.9第一…