题解 | 合并表记录

合并表记录

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

#include <iostream>
#include <map>
using namespace std;

int main() {
    int n;
    cin >> n; // 读取记录数

    // 使用 map 来存储索引和对应的数值
    // map 会自动按照索引从小到大排序
    map<int, int> record;

    // 读取 n 条记录
    for (int i = 0; i < n; i++) {
        int x, y;
        cin >> x >> y; // 读取索引和数值
        record[x] += y; /* 合并相同索引的记录,record[x] 是 map 的访问操作符,用于访问键为 x 的值。它的行为如下:如果键 x 已经存在于 map 中,record[x] 返回对应的值的引用。
如果键 x 不存在,map 会自动插入一个新的键值对,键为 x,值为默认值(对于 int 类型,默认值是 0),然后返回这个新值的引用。*/
    }

    // 输出合并后的结果
    for (const auto& pair : record) {
        cout << pair.first << " " << pair.second << endl;
    }

    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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