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;- 一行解法,适合竞赛和面试写法。