首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >赎金信(C++)

赎金信(C++)

作者头像
GeekLiHua
发布2025-01-21 10:54:49
发布2025-01-21 10:54:49
1080
举报
文章被收录于专栏:JavaJava

赎金信

给你两个字符串:ransomNotemagazine,判断 ransomNote能不能由 magazine里面的字符构成。

如果可以,返回 true;否则返回 false

magazine中的每个字符只能在 ransomNote中使用一次。

示例 1:

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

示例 2:

代码语言:javascript
复制
输入:ransomNote = "aa", magazine = "ab"
输出:false

示例 3:

代码语言:javascript
复制
输入:ransomNote = "aa", magazine = "aab"
输出:true

提示:

  • 1 <= ransomNote.length, magazine.length <= 105
  • ransomNotemagazine由小写英文字母组成

我的代码:

代码语言:javascript
复制
class Solution {
public:
    bool canConstruct(string ransomNote, string magazine) {
        // 本质上还是一个字符统计问题
        if (ransomNote.size() > magazine.size()) return false;
        vector<int> cnt(30);
        for (auto c : magazine) cnt[c - 'a'] ++;
        for (auto c : ransomNote)
        {
            cnt [c - 'a'] --;
            if (cnt[c - 'a'] < 0)  return false;
        }
        return true;
    }
};
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-10-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 赎金信
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档