zoukankan      html  css  js  c++  java
  • 算法 合并表记录

    题目描述

    数据表记录包含表索引和数值(int范围的整数),请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。

    输入描述:

    先输入键值对的个数
    然后输入成对的index和value值,以空格隔开

    输出描述:

    输出合并后的键值对(多行)

    示例1

    输入

    复制
    4
    0 1
    0 2
    1 2
    3 4
    

    输出

    复制
    0 3
    1 2
    3 4

    思路:使用hash表

    #include <iostream>
    #include <algorithm>
    #include <string.h>
    #include <string>
    #include <map>
    using namespace std;

    int main()
    {
      int Sum[1024] = {0};
      int n = 0;
      int x = 0,y = 0;
      cin >>n;

      for(int i = 0; i < n; i++)
      {
        cin>>x>>y;
        Sum[x]+=y;
      }

      for(int i = 0; i < 1024; i++){
        if(Sum[i]>0){
          cout << i <<" "<< Sum[i] << endl;
        }
      }
      return 0;
    }

    注意如果这里长度太长就不能用int,并且注意最后不能用ends代替" "

  • 相关阅读:
    【leetcode】1230.Toss Strange Coins
    2018.12.25 SOW
    L203 词汇题
    L202
    L201
    L200
    2018
    2018.12.21 Cmos- RF
    L198
    L196 Hospital educations
  • 原文地址:https://www.cnblogs.com/liuruoqian/p/11653317.html
Copyright © 2011-2022 走看看