【LeetCode】赎金信

目录

  • 一、题目
  • 二、解法
  • 完整代码


一、题目

给你两个字符串: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 <= 105
ransomNote 和 magazine 由小写英文字母组成


二、解法

利用哈希表,同时遍历两个字符串,记录字母出现的次数【ransomNote1magazine1】,最后如果ransomNote 遍历完了,而且字母对应的位置大于等于0 了, 就可以了
时间复杂度O(max(m,n))


完整代码

class Solution:def canConstruct(self, ransomNote: str, magazine: str) -> bool:tag = [0] * 26m, n = len(ransomNote), len(magazine)if m > n:return Falsei = 0while i < m:tag[ord(ransomNote[i]) - 97] -= 1tag[ord(magazine[i]) - 97] += 1i += 1while i < n:tag[ord(magazine[i]) - 97] += 1i += 1for i in range(26):if tag[i] < 0:return Falsereturn True

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/43683.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

UMI HTTP接口手册

Translate to English 命令行手册&#xff1a; README_CLI.mdHTTP接口手册&#xff1a; README_HTTP.md HTTP接口手册 &#xff08;本文档仅适用于 Umi-OCR 最新版本。旧版本请查看 Github备份分支 中对应版本的文档。&#xff09; 基础说明 如上图&#xff0c;必须允许HTT…

MySQL篇五:基本查询

文章目录 前言1. Create1.1 单行数据 全列插入1.2 多行数据 指定列插入1.3 插入否则更新1.4 替换 2. Retrieve2.1 SELECT 列2.1.1 全列查询2.1.2 指定列查询2.1.3 查询字段为表达式2.1.4 为查询结果指定别名2.1.5 结果去重 2.2 WHERE 条件2.2.1 练习 2.3 结果排序2.3.1 练习 …

Java内存区域与内存溢出异常(补充)

2.2.5 方法区 方法区(Method Area)与Java堆一样&#xff0c;是各个线程共享的内存区域&#xff0c;它用于存储已被虚拟机加载的类型信息、常量、静态变量、即时编译器编译后的代码缓存等数据。虽然《Java虚拟机规范》中把方法区描述为堆的一个逻辑部分&#xff0c;但是它却有一…

分布式事务Seata AT 详解

AT模式 一阶段&#xff1a; 向seata server端申请全局事务id&#xff0c;传递给下游参与服务 执行各个本地事务&#xff0c;在事务执行前后记录seata自己的undo log/imag (用于回滚&#xff09;到表中&#xff0c;该表为根据官网手动创建 各个本地事务申请全局锁 申请成功提…

2024浙江外国语学院汉语桥线上项目 “在杭州,看见更好的中国”开班

7月9日上午&#xff0c;由教育部中外语言交流合作中心主办、浙江外国语学院国际商学院承办的2024汉语桥“在杭州&#xff0c;看见更好的中国”线上项目正式启动。项目负责人何骅老师及汉语桥教师团队&#xff0c;与来自越南、缅甸、日本、俄罗斯的100名学员相聚云端&#xff0c…

Nginx配置基础

ect/nginx/nginx.conf配置 1&#xff09;nginx 相关目录 工作目录&#xff1a;ect/nginx 家目录 执行文件&#xff1a;/usr/sbin/nginx 启动或重载 sudo /usr/sbin/nginx -t 检查配置文件 sudo /usr/sbin/nginx -s reload 重启服务 日志文件&#xff1a;/var/log/nginx 启动文…

计算机视觉研究方向初学习,计算机视觉都有什么方向??!到底是干什么的?!

计算机视觉研究方向初学习&#xff0c;计算机视觉都有什么方向&#xff1f;&#xff1f;&#xff01;到底是干什么的&#xff1f;&#xff01; 语义分割图像分类目标检测和定位实例分割、全景分割物体跟踪姿态估计人脸识别人体识别图像增强风格迁移图像生成视觉问答视频分析光学…

relocatex getwd

bindtextdom.obj : error LNK2019: unresolved external symbol relocatex referenced in function libintl_bindtextdomain dcigettext.obj : error LNK2019: unresolved external symbol getwd referenced in function libintl_dcigettext

3102.最小化曼哈顿距离

解题思路 分析时间复杂度&#xff0c;计算任意两点的曼哈顿距离达到 O ( n 2 ) O(n^2) O(n2)&#xff0c;会超时需要优化。 因此优化可以将曼哈顿距离与切比雪夫距离的相互关系找出来&#xff0c;然后转换成求切比雪夫距离的方式&#xff0c;得到 d i s t a n c e ( A , B ) …

SpringBoot实战:轻松实现接口数据脱敏

文章目录 引言一、接口数据脱敏概述1.1 接口数据脱敏的定义1.2 接口数据脱敏的重要性1.3 接口数据脱敏的实现方式 二、开发环境三、实现接口返回数据脱敏3.1 添加依赖3.2 创建自定义注解3.3 定义脱敏枚举类3.4 创建自定义序列化类 四、测试4.1 编写测试代码4.2 测试 五、总结 引…

vmware workstation安装debian虚拟机有时无法访问windows共享文件夹

问题 安装好debian12之后&#xff0c;已经按要求安装了vmhgfs工具&#xff0c;然后进行文件共享&#xff0c;是可以连接上的&#xff0c;但重启虚拟机后&#xff0c;共享文件夹就无法访问了 解决办法&#xff0c;参考&#xff1a;在 Linux 客户机中装载共享文件夹的办法 vmh…

C++基础(七):类和对象(中-2)

上一篇博客学的默认成员函数是类和对象的最重要的内容&#xff0c;相信大家已经掌握了吧&#xff0c;这一篇博客接着继续剩下的内容&#xff0c;加油&#xff01; 目录 一、const成员&#xff08;理解&#xff09; 1.0 引入 1.1 概念 1.2 总结 1.2.1 对象调用成员函数 …

多尺度旋转编码

ROPE编码中不使用所有维度旋转同样的角度&#xff0c;而是对成对的维度进行不同的旋转角度&#xff0c;这样设计的原因在于它能够捕捉不同尺度上的位置信息&#xff0c;并且更好地处理长序列数据。让我们更详细地解释一下&#xff1a; 1. 多尺度位置信息 通过对不同维度成对使…

自动群发消息插件常用源代码科普!

随着网络技术的快速发展&#xff0c;自动群发消息插件成为了众多企业和个人提高效率、加强沟通的重要工具。 然而&#xff0c;开发一个高效且稳定的自动群发消息插件并非易事&#xff0c;需要深入理解并熟练掌握相关的源代码。 本文将从五个方面&#xff0c;通过具体的源代码…

Ubuntu 添加so库搜索路径

方法一&#xff1a; 修改 /etc/ld.so.conf文件 将需要配置的库复制到一个目录中&#xff0c;注意复制指令需要添加 -a 选项, -a选项可以将现有so库的链接关系一同拷贝&#xff0c;如果不加 -a 需要重新使用 ln进行链接: sudo cp -a *.so* /libsdk/编辑 /etc/ld.so.conf文件 …

通俗易懂--.csproj 文件

.csproj 文件 .csproj&#xff0c;是C#项目文件的扩展名&#xff0c;它是“C Sharp Project”的缩写。.net开发环境中建立项目时&#xff0c;会产生.csproj文件&#xff0c;这是C#的工程文件&#xff0c;其中记录了与工程有关的相关信息&#xff0c;例如包含的文件&#xff0c;…

WebKit源代码探秘:深入理解其组织结构与组件

WebKit是一个开源的浏览器引擎&#xff0c;最初由苹果公司开发&#xff0c;现在由许多贡献者共同维护。它以其高性能、易用性和可扩展性而闻名&#xff0c;被用于多个流行的浏览器和应用程序中。WebKit的源代码组织是模块化的&#xff0c;使得开发者可以轻松地找到所需的组件并…

2024第六届上海国际新材料展览会-12月精彩呈现

2024第六届上海国际新材料展览会 The 6th shanghai International New Materials Exhibition in 2024 时 间&#xff1a;2024年12月18-20日 地 点&#xff1a;上海新国际博览中心 CIME 2024专业、权威&#xff0c;涵盖整个新材料行业的国际盛会。 期待与您在CIME 2024现场相…

【INTEL(ALTERA)】为什么我使用 PIO 边缘捕获中断的 Nios® II 设计不能正常工作?

目录 说明 解决方法 说明 当用户选择了不正确的边缘捕获设置&#xff0c;从而阻止触发中断时&#xff0c;可能会出现此问题。 在 PIO&#xff08;并行 I/O&#xff09;英特尔 FPGA IP内核中&#xff0c;如果“启用单个位设置/清除”选项被关闭&#xff0c;则将任何值写入边…

精通C#编程需要学习哪些常用框架?

精通C#编程&#xff0c;了解并熟练运用一些核心框架对于开发高质量的应用程序至关重要。以下是一些C#开发中常用的框架&#xff1a; .NET Core / .NET 6: 这是C#现代应用程序开发的基础框架&#xff0c;支持跨平台&#xff08;Windows、Linux、macOS&#xff09;开发。它包括了…