LeetCode|Day24|383. 赎金信|Python刷题笔记

LeetCode|Day24|383. 赎金信|Python刷题笔记

🗓️ 本文属于【LeetCode 简单题百日计划】系列

👉 点击查看系列总目录 >>


📌 题目简介

题号:383. 赎金信
难度:简单
题目链接:点击跳转


🧾 题目描述(简要)

判断一个字符串 ransomNote 能否由另一个字符串 magazine 里的字符构成。

示例:

复制代码
输入:ransomNote = "a", magazine = "b"
输出:false

输入:ransomNote = "aa", magazine = "aab"
输出:true

💡 解法:使用 Counter 比较字符数量

python 复制代码
from collections import Counter

class Solution:
    def canConstruct(self, ransomNote: str, magazine: str) -> bool:
        return Counter(ransomNote) <= Counter(magazine)

🧠 我的理解

  • 使用 Counter 分别统计两个字符串中每个字符出现的次数;
  • 判断 ransomNote 中的每个字符数量是否都小于等于 magazine
  • Python 中 Counter1 <= Counter2 表示元素计数包含关系。

📌 基础语法复习:

  • collections.Counter:字符计数字典;
  • <= 运算符可以比较两个 Counter;
  • 一行解法,适合竞赛和面试写法。

📌 返回总目录:点我回目录

相关推荐
小欣加油23 分钟前
leetcode 面试题01.02判定是否互为字符重排
数据结构·c++·算法·leetcode·职场和发展
3Cloudream27 分钟前
LeetCode 003. 无重复字符的最长子串 - 滑动窗口与哈希表详解
算法·leetcode·字符串·双指针·滑动窗口·哈希表·中等
爬虫程序猿39 分钟前
《京东商品详情爬取实战指南》
爬虫·python
aramae41 分钟前
C++ -- 模板
开发语言·c++·笔记·其他
胡耀超42 分钟前
4、Python面向对象编程与模块化设计
开发语言·python·ai·大模型·conda·anaconda
小马学嵌入式~1 小时前
嵌入式 SQLite 数据库开发笔记
linux·c语言·数据库·笔记·sql·学习·sqlite
hour_go2 小时前
用户态与内核态的深度解析:安全、效率与优化之道
笔记·操作系统
大佬,救命!!!2 小时前
整理python快速构建数据可视化前端的Dash库
python·信息可视化·学习笔记·dash·记录成长
孔丘闻言2 小时前
python调用mysql
android·python·mysql
Teletele-Lin2 小时前
Miniconda安装与VSCode搭建远程Python、Jupyter开发环境
vscode·python·jupyter·环境配置·远程开发