题解 | #农场智能管理系统#

农场智能管理系统

https://www.nowcoder.com/practice/a1461ace00224e5a9fc6ff3d1ae587e5

知识点

哈希

思路

使用两个map分别建立两个字符串中,每个字符到出现次数的映射,比较requirement的每个字符出现的个数,都需要小于allocation中对应字符的出现次数,才能返回"YES",否则返回"NO"

代码c++

class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param requirements string字符串
     * @param allocations string字符串
     * @return string字符串
     */
    string can_construct(string requirements, string allocations) {
        // write code here
        map<int, int>a;
        map<int, int>r;
        for (int i = 0; i < requirements.size(); i++) {
            r[requirements[i] - 'A']++;
        }
        for (int i = 0; i < allocations.size(); i++) {
            a[allocations[i] - 'A']++;
        }
        for (int i = 0; i <= 25; i++) {
          //  cout << r[i] << "   " << a[i] << endl;
            if (r[i] > a[i])return "NO";

        }
        return "YES";
    }
};
全部评论

相关推荐

死在JAVA的王小美:哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈,我也是,让我免了一轮,但是硬气拒绝了
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务