383. 赎金信
分析
-
构建字符频率表
- 遍历
magazine
,统计每个字符出现的次数。
- 遍历
-
逐字符匹配
- 如果
hash[c] > 0
,说明字符可用,使用后数量减1
- 如果
hash[c] == 0
,说明字符不足,返回false
- 如果
-
全部匹配成功
- 如果遍历完
ransomNote
没有提前返回false
,则说明可以成功构造,返回true
- 如果遍历完
时间复杂度
时间复杂度 O(n + m)
空间复杂度
空间复杂度为 O(1)
C++代码
|
|