当前位置: 首页 > news >正文

241119.LeetCode——383.赎金信

题目描述

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

思路

题目要求是作一个简化版的字符串匹配,这样的题思路很简单,之前刷 Cpp 也遇到过,总的来说是用哈希的思想来完成,但是现在用的是 Python ,有一些语法糖可以利用。

  • 我首先想到的数据结构是 字典 ,可以存储 字母 和 出现次数 的对应关系。但很快被我自己否定了,因为想起来可以利用数组的索引和数组本身存储。
  • 视角切换到数组,Python 本身其实没有数组,而是叫列表,这样就多了很多可以利用的方法(虽然我都不是很熟悉),比如 append() 之类的,这里可以考虑构建数组,初始化采用了array = [0] * 26,这个是 AI 写的,也是震惊到我…我一开始的思路是用 for
  • 后面的思路也就是哈希的操作了,存值取值,值得注意的是 Python 有一个字符转 ASCII 的函数 ord() 这样就可以方便地进行索引索取了,结果当然是通过

代码实现

Python3

class Solution:def canConstruct(self, ransomNote: str, magazine: str) -> bool:array = [0] * 26for i in magazine:array[ord(i) - ord("a")] += 1for i in ransomNote:if array[ord(i) - ord("a")] == 0:return Falsearray[ord(i) - ord("a")] -= 1return True

时间空间效率

总结

InternStudio 上海书生大模型训练营任务一

好久没写过 Python 了…大一到现在也学了很多门语言,基本上也就是做过1~2个demo…其余什么语法的,都得用到了才去查,查了很长时间后又会忘却…这确实是一个问题,编程语言的学习确实在精而不在广,更合适的应该是通过一门语言,带领入门一个岗位(前后端、架构运维等等)…但是现在要用到,之前学过至少不用从头开始,看到 Python 代码心里也没有那么慌张…

相关文章:

241119.LeetCode——383.赎金信

题目描述 给你两个字符串&#xff1a;ransomNote 和 magazine &#xff0c;判断 ransomNote 能不能由 magazine 里面的字符构成。 如果可以&#xff0c;返回 true &#xff1b;否则返回 false 。 magazine 中的每个字符只能在 ransomNote 中使用一次。 示例 1&#xff1a; 输…...

基于SSM的农家乐管理系统+论文示例参考

1.项目介绍 功能模块&#xff1a;管理员&#xff08;农家乐管理、美食信息管理、住宿信息管理、活动信息、用户管理、活动报名、论坛等&#xff09;&#xff0c;普通用户&#xff08;注册登录、活动报名、客房预订、用户评价、收藏管理、模拟支付等&#xff09;技术选型&#…...

用 Python 从零开始创建神经网络(九):反向传播(Backpropagation)(还在更新中。。。)

反向传播&#xff08;Backpropagation&#xff09; 引言1. 分类交叉熵损失导数&#xff08;Categorical Cross-Entropy loss derivative&#xff09;2. 分类交叉熵损失衍生代码实现3. Softmax激活导数&#xff08;Softmax activation derivative&#xff09;4. Softmax激活函数…...

Flink是如何实现 End-To-End Exactly-once的?

flink 如何实现端到端的 Exactly-once? 端到端包含 Source, Transformation,Sink 三部分的Exactly-once Source&#xff1a;支持数据的replay&#xff0c;如Kafka的offset。Transformation&#xff1a;借助于checkpointSink&#xff1a;Checkpoint 两阶段事务提交 两阶段提…...

【vulhub】nginx解析漏洞(nginx_parsing_vulnerability)

1. nginx解析漏洞原理 fastcgi 在处理’.php’文件时发现文件并不存在,这时 php.ini 配置文件中cgi.fix_pathinfo1 发挥作用,这项配置用于修复路径,如果当前路径不存在则采用上层路径 (1)由于 nginx.conf的配置导致 nginx把以’.php”结尾的文件交给 fastcgi 处理,为此可以构造…...

网络协议之邮件协议(SMTP、POP3与IMAP)

一、引言 在数字化时代&#xff0c;电子邮件已成为人们日常沟通和信息交流的重要工具。电子邮件系统的稳定运行离不开一系列网络协议的支撑&#xff0c;其中SMTP、POP3和IMAP是最为关键的三个协议。它们分别负责邮件的发送、接收和管理&#xff0c;共同构建了一个高效、稳定的…...

python学习笔记(3)运算符

Python 语言支持的运算符: Python 语言支持以下类型的运算符: 算术运算符 比较&#xff08;关系&#xff09;运算符 赋值运算符 逻辑运算符 位运算符 成员运算符 身份运算符 运算符优先级 接下来让我们一个个来学习Python的运算符。 Python算术运算符 运算符描述实例加 - 两…...

_FYAW智能显示控制仪表的简单使用_串口通信

一、简介 该仪表可以实时显示位移传感器的测量值&#xff0c;并可设定阈值等。先谈谈简单的使用方法&#xff0c;通过说明书&#xff0c;我们可以知道长按SET键可以进入参数选择状态&#xff0c;按“↑”“↓”可以选择该组参数的上一个或者下一个参数。 从参数一览中可以看到有…...

激光雷达定位初始化的另外一个方案 通过键盘按键移动当前位姿 (附python代码)

通常使用的是通过在 rviz 中点选指定初始化位置和方向来完成点云的初始化匹配。 但是这种粗略的初始化方法有时候可能不成功,因此需要使用准确的初始化方法,以更好的初始值进行无损检测配准。 为了提供更好的匹配初始值,我使用 Python 脚本获取键盘输入,并不断调整这个匹配…...

从0-1逐步搭建一个前端脚手架工具并发布到npm

前言 vue-cli 和 create-react-app 等 cli 脚手架工具用于快速搭建应用&#xff0c;无需手动配置复杂的构建环境。本文介绍如何使用 rollup 搭建一个脚手架工具。 脚手架工具的工作流程简言为&#xff1a;提供远端仓库各种模版 > 用户通过命令选择模版 > 拉取仓库代码 …...

河道水位流量一体化自动监测系统:航运安全的护航使者

在广袤的水域世界中&#xff0c;航运安全始终是至关重要的课题。而河道水位流量一体化自动监测系统的出现&#xff0c;如同一位强大的护航使者&#xff0c;为航运事业的稳定发展提供了坚实的保障。 水位传感器&#xff1a;负责实时监测河道的水位变化。这些传感器通常采用先进的…...

维护在线重做日志

学习目标 解释在线重做日志文件的目的概述在线重做日志文件的结构控制日志开关和检查点多路复用和维护在线重做日志文件使用OMF管理在线重做日志文件获取在线重做日志文件信息 在线重做日志文件提供了在数据库发生故障时重做事务的方法。 每个事务都同步写入重做日志缓冲区&a…...

ASCB1系列APP操控末端回路智能微断 物联网断路器 远程控制开关 学校、工厂、农场、商业大楼等可用

安科瑞戴婷 Acrel-Fanny ASCB1系列智能微型断路器是安科瑞电气股份有限公司全新推出的智慧用电产品&#xff0c;产品由智能微型断路器与智能网关两部分组成&#xff0c;可用于对用电线路的关键电气因素&#xff0c;如电压、电流、功率、温度、漏电、能耗等进行实时监测&#x…...

Python入门(10)--面向对象进阶

Python面向对象进阶 &#x1f680; 1. 继承与多态 &#x1f504; 1.1 继承基础 class Animal:def __init__(self, name, age):self.name nameself.age agedef speak(self):passdef describe(self):return f"{self.name} is {self.age} years old"class Dog(Anim…...

Makefile 之 自动化变量

作用范围只在这条规则以及连带规则中&#xff0c;所以其值也只在作用范围内有效。而不会影响规则链以外的全局变量的值。 "$" 表示目标的集合&#xff0c;就像一个数组&#xff0c;"$"依次取出目标&#xff0c;并执于命令。 "$<"和"$&qu…...

鸿蒙开发:ForEach中为什么键值生成函数很重要

前言 在列表组件使用的时候&#xff0c;如List、Grid、WaterFlow等&#xff0c;循环渲染时都会使用到ForEach或者LazyForEach&#xff0c;当然了&#xff0c;也有单独使用的场景&#xff0c;如下&#xff0c;一个很简单的列表组件使用&#xff0c;这种使用方式&#xff0c;在官…...

沃丰科技智能外呼机器人:超越人工,重塑外呼体验

随着科技的不断发展&#xff0c;人工智能已经逐渐渗透到各行各业&#xff0c;其中智能外呼机器人的出现&#xff0c;更是给企业带来了全新的客户体验。与传统的人工外呼相比&#xff0c;智能外呼机器人具有更高的效率、更低的成本以及更好的用户体验等优势。 优势一&#xff1…...

百度飞浆:paddle 线性回归模型

学习引用 参考视频&#xff1a; https://www.bilibili.com/video/BV1oRtkeVEVx?spm_id_from333.788.player.switch&vd_sourcec7739de98d044e74cdc74d6e772bed5f&p2 这段代码使用PaddlePaddle深度学习框架来实现一个简单的线性回归模型&#xff0c;旨在从给定的出租车…...

【JavaSE】【网络编程】UDP数据报套接字编程

目录 一、网络编程简介二、Socket套接字三、TCP/UDP简介3.1 有连接 vs 无连接3.2 可靠传输 vs 不可靠传输3.3 面向字节流 vs 面向数据报3.4 双向工 vs 单行工 四、UDP数据报套接字编程4.1 API介绍4.1.1 DatagramSocket类4.1.1.1 构造方法4.1.1.2 主要方法 4.1.2 DatagramPocket…...

45.坑王驾到第九期:Mac安装typescript后tsc命令无效的问题

点赞收藏加关注&#xff0c;你也能主打别墅&#xff01; 一、问题描述 Mac上终端运行如下命令&#xff1a; sudo npm install typescript -g //全局安装ts提示成功安装后&#xff0c;我测试tsc -v这个命令时出现如下错误&#xff1a; 也就是说找不到 tsc 命令。 二、解决方…...

为什么92%的实时数仓项目在2025Q4突然转向AI原生平台?——奇点大会12家头部企业联合验证数据披露

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;AI原生实时计算平台&#xff1a;2026奇点智能技术大会流批一体实践 在2026奇点智能技术大会上&#xff0c;新一代AI原生实时计算平台正式发布&#xff0c;其核心突破在于将大模型推理调度、向量流式计算…...

如何用Rye与Docker打造无缝Python容器开发环境:完整实践指南

如何用Rye与Docker打造无缝Python容器开发环境&#xff1a;完整实践指南 【免费下载链接】rye a Hassle-Free Python Experience 项目地址: https://gitcode.com/gh_mirrors/ry/rye Rye是一款旨在提供无忧Python开发体验&#xff08;a Hassle-Free Python Experience&am…...

不止于导航:用AI Habitat的语义分割数据,教你构建自己的室内物体识别与场景理解Pipeline

不止于导航&#xff1a;用AI Habitat的语义分割数据构建室内物体识别与场景理解Pipeline 在计算机视觉与机器人领域&#xff0c;室内场景理解一直是极具挑战性的研究方向。传统方法依赖于昂贵的传感器设备和人工标注数据&#xff0c;而仿真平台的出现为这一领域带来了革命性变…...

如何利用League Akari提升英雄联盟游戏体验:完整指南

如何利用League Akari提升英雄联盟游戏体验&#xff1a;完整指南 【免费下载链接】League-Toolkit An all-in-one toolkit for LeagueClient. Gathering power &#x1f680;. 项目地址: https://gitcode.com/gh_mirrors/le/League-Toolkit 你是否曾在英雄联盟游戏中因为…...

从玩具到生产:基于run-llama/rags构建模块化RAG系统的工程实践

1. 项目概述&#xff1a;从“玩具”到“生产力”的RAG系统构建如果你最近在关注大语言模型的应用落地&#xff0c;那么“RAG”这个词一定高频出现在你的视野里。RAG&#xff0c;即检索增强生成&#xff0c;它试图解决大模型“一本正经胡说八道”和“知识陈旧”两大核心痛点。简…...

别再只用memcpy了!手把手教你用memcpy_s写出更安全的C语言代码(附VS2022实战)

从memcpy到memcpy_s&#xff1a;现代C语言安全编程实战指南 在Visual Studio 2022的编译输出窗口中&#xff0c;那个刺眼的C4996警告已经成为许多C语言开发者的"老朋友"。当看到"error C4996: memcpy: This function or variable may be unsafe"时&#xf…...

AI时代来临,键盘布局将迎来怎样的变革?

1. AI时代的硬件探索智能手机统治了过去十几年的数字生态&#xff0c;它是注意力的黑洞&#xff0c;是人们最私密的随身之物。但手机从设计之初就是为「人盯着它」而生的&#xff0c;其全部逻辑止于屏幕。而AI的需求却恰恰相反&#xff0c;它需要持续感知物理世界&#xff0c;见…...

Midjourney未来三年风格演进路径图(2024–2026关键拐点全标注)

更多请点击&#xff1a; https://intelliparadigm.com 第一章&#xff1a;Midjourney 2026年审美趋势总览 2026年&#xff0c;Midjourney 的视觉语言正经历一场由技术理性与人文温度共同驱动的范式迁移。V7引擎全面启用动态语义权重调节&#xff08;DSWR&#xff09;&#xff…...

用AI写论文怎么不被判AI?写作prompt+降AI工具双层防御攻略!

用AI写论文怎么不被判AI&#xff1f;写作prompt降AI工具双层防御攻略&#xff01; 用 AI 写论文最稳的姿势是「双层防御」——写作端用降 AI 提示词预防&#xff08;0 成本但有能力上限&#xff09; 写完用降 AI 工具兜底&#xff08;4.8 元/千字双降到位&#xff09;。 这两…...

vue3-vant-mobile项目部署指南:Netlify零配置发布终极教程

vue3-vant-mobile项目部署指南&#xff1a;Netlify零配置发布终极教程 【免费下载链接】vue3-vant-mobile An mobile web apps template based on the Vue 3 ecosystem。一个基于 Vue 3 生态系统的移动 web 应用模板&#xff0c;帮助你快速完成业务开发。 项目地址: https://…...