map下标访问叠加

合并表记录

http://www.nowcoder.com/questionTerminal/de044e89123f4a7482bd2b214a685201

#include <iostream>
#include <map>

using namespace std;

int main(){
    std::ios::sync_with_stdio(false);
    std::cin.tie(nullptr);
    std::cout.tie(nullptr);
    std::setvbuf(stdout, nullptr, _IOFBF, BUFSIZ);

    int num;
    map<int,int> numMap;
    cin>>num;
    int k = 0,v = 0;
    while (num--) {
        cin>>k>>v;
        numMap[k] +=v;
    }
    for(const auto &p:numMap){
        cout<<p.first<<" "<<p.second<<"\n";
    }
    return 0;
}

map默认排序,下表访问会先查找,没有的话调用C++ 11之前make_pair。之后 std::forward_as_tuple(key), std::tuple<>() 原位构造

全部评论

相关推荐

鱼专:你没有问题,有问题的是java市场,我有实习经历都捞不到实习,走一步看一步吧
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务