比较两个地图以查看其中一个是否是子集

时间:2019-05-07 22:10:09

标签: c++

我正在检查两个映射是否区分大小写,如果note_map中出现重复,则mag_map必须大于或等于

void checkMagazine(vector<string> magazine, vector<string> note) {
    std::map<string, int> mag_map;
    std::map<string, int> note_map;

    for(auto it : magazine){
       mag_map[it]++;
    }

     for(auto it : note){
       note_map[it]++;
    }

我想检查mag_map来查看它是否在note_map中拥有键,并且我还想查看mag_map中是否有足够的次数来做笔记。

1 个答案:

答案 0 :(得分:1)

您的开端很好。现在,您只需要遍历note并检查mag_map中是否存在每个单词。如果是的话,那么您还需要检查单词在mag_map中至少出现 次,是否与note_map中出现次数相同。如果任何条件之一都不成立,那么您可以从那里中断并打印“否”,因为无法从弹匣上记下赎金记录。

提示:使用find(Key)搜索并使用operator[]获取计数。