华为机试题:合并表记录
来源:互联网 发布:淘宝气值怎么升级 编辑:程序博客网 时间:2024/04/29 09:52
题目描述:
数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:
先输入键值对的个数
然后输入成对的index和value值,以空格隔开
输出描述:
输出合并后的键值对(多行)
输入例子:
4
0 1
0 2
1 2
3 4
输出例子:
0 3
1 2
3 4
map是关键字-值对的集合,而且map本身就是按照key值的大小存储的,所以只需要执行读入和读出的操作。
#include <iostream>#include <map>using namespace std;int main(){ int n; while (cin >> n){ map<int, size_t> m; for (int i = 0; i < n; i++){ int k, j; cin >> k; cin >> j; auto ret = m.insert({k, j}); if (!ret.second){ for (int a = 0; a < j; a++) ++ret.first->second; } } for (auto c: m) cout << c.first << " " << c.second << endl; } return 0;}
在输入map方面,以下代码更好理解:
while(n-- && cin >> k >> j){ m[k] += j; //不存在的时候默认是0,存在则累加}
0 0
- 合并表记录(华为机试题)
- 华为机试题:合并表记录
- 华为机试 合并表记录
- java----------华为机试------------合并表记录
- 华为OJ_1956_合并表记录
- 【华为OJ8】合并表记录
- 华为OJ:合并表记录
- 【华为OJ】合并表记录
- 华为机试——合并表记录
- Java - 华为机试训练 - 合并表记录
- 牛客网_华为机试_008_合并表记录
- 《华为机试在线训练》之合并表记录
- 华为机试——合并表记录
- 华为OJ(合并表记录)
- 华为OJ(合并表记录)
- 【华为OJ】【008-合并表记录】
- 华为OJ——合并表记录
- 华为OJ 初级:合并表记录
- 嵌入式系统硬件处理器架构的发展趋势及比较分析
- TLD视觉跟踪
- 管道和FIFO
- 欢迎使用CSDN-markdown编辑器
- 分布式锁_Redis_Setnx_getSet
- 华为机试题:合并表记录
- 9.Spring学习笔记_SpEL(by尚硅谷_佟刚)
- HDU 3853 LOOPS (概率DP)
- c++备忘录
- itween插件的使用(小案例)
- 程序员,你为什么值这么多钱?
- 数据库乱码问题
- RTP传输TS或PS流的SDP写法
- 排序算法总结