LC 0383.Ransom Note
题目描述
这是 LeetCode
上的 383.
赎金信 ,难度为简单。
给你两个字符串:ransomNote
和 magazine
,判断 ransomNote
能不能由 magazine
里面的字符构成。
如果可以,返回 true
;否则返回 false
。
magazine
中的每个字符只能在 ransomNote
中使用一次。
示例 1:
1 |
|
示例 2:
1 |
|
示例 3:
1 |
|
提示:
1 <= ransomNote.length, magazine.length <= 10^5
ransomNote
和magazine
由小写英文字母组成
解答
方法一:计数模拟
根据题目的要求,如果 magazine
字符串的长度小于
ransomNote
字符串的长度则返回 false
,否则用数组来模拟哈希表统计 magazine
中小写字符的数目,如果 magazine
中小写字符的数目小于
ransomNote
中小写字符的数目则返回 false
,否则返回 true
。
1 |
|
时间复杂度:\(O(M + N)\) ,其中
M
为magazine
字符串的长度,N
为ransomNote
字符串的长度。空间复杂度:\(O(M + N + C)\),如果使用
toCharArray
的话复杂度为 \(O(M + N + C)\),其中M
、N
含义同上,C
为字符集的大小,如果使用charAt
的话复杂度为 \(O(C)\) 。
每题一图
LC 0383.Ransom Note
https://chen-huaneng.github.io/2024/01/07/2024-1-7-2024-01-07-lc-0383/