合并表记录

原创 2016年08月29日 09:27:51

题目描述:数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。
输入描述:先输入键值对的个数,然后输入成对的index和value值,以空格隔开
输出描述:输出合并后的键值对(多行)
输入例子:
4
0 1
0 2
1 2
3 4
输出例子:
0 3
1 2
3 4

import java.util.*;
public class Main{
    public static void main(String []args){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            Map<Integer,Integer> map=new TreeMap<Integer,Integer>();
            int n=sc.nextInt();
            for(int i=0;i<n;i++){
                int key=sc.nextInt();
                int value=sc.nextInt();
                if(map.contains(key)){
                    map.put(key,map.get(key)+value);
                }else{
                    map.put(key,value);
                }
            }
            for(Integer key:map.keySet()){
                System.out.println(key+" "+map.get(key));
            }
        }
    }
}

java中Map结构是key->value键值对存储的,而且根据M安排的特性,同一个Map中不存在两个key相同的元素,而value不存在这个限制,也就是,key唯一,value不唯一。Map有两个子类:HashMap和TreeMap。如果考虑到存储的效率建议使用HashMap,而如果考虑到key的顺序,则用TreeMap。
一般,以key进行排序,用TreeMap
以value进行排序,则用HashMap
TreeMap和HashMap会自动排序,分别根据key值和hash码排序。

华为OJ(合并表记录)

题目:合并记录表 描述 数据表记录包含表索引和数值。请对表索引相同的记录进行合并,合并后表记录为相同索引表的数值求和 函数说明:public int mergeRecord(List or...
  • yiqiwangxi
  • yiqiwangxi
  • 2015年08月17日 23:42
  • 1446

华为OJ 初级:合并表记录

描述 数据表记录包含表索引和数值。请对表索引相同的记录进行合并,合并后表记录为相同索引表的数值求和 函数说明:public int mergeRecord(List oriList, List ...
  • wanggg2760
  • wanggg2760
  • 2016年07月08日 19:55
  • 421

关于oracle多条记录合并为一条记录的方法

今天正还有同学问了一个问题,怎么把两条不同的记录合并成一条记录从数据库里面拿出来,oracle数据库。 拿到之后首先想的是,分两条sql语句去查,然后在程序里做拼接。经过沟通发现,同学的需求不是这个...
  • liuguangqiang
  • liuguangqiang
  • 2016年05月28日 21:44
  • 11009

linq左外联多表多条件将多条数据合并成一条

var lstResult = from A in oDataContext.T_BoardCPKCfg join B in ...
  • tigercao101
  • tigercao101
  • 2012年10月11日 08:39
  • 2182

sql合并多行记录

MySQL 使用关键字 group_concat,具体示例如下: select stuID, group_concat(borrowId) as dd from t_borrow SqLServer...
  • wu843820873
  • wu843820873
  • 2016年03月09日 14:05
  • 271

一步一步学MySQL----15 多表数据记录查询之合并查询

在MySQL中通过关键字union来实现并操作,即可以通过union将多个select语句查询合并在一起组成新的关系。 下面的实例基于数据库company,有如下两张表:(1) 计算机系的学生表:cs...
  • u013003827
  • u013003827
  • 2017年03月31日 22:16
  • 1075

Java-NowCoder-合并表记录

题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。 输入描述:先输入键值对的个数然后输入成对的ind...
  • qq_30507287
  • qq_30507287
  • 2016年09月13日 22:53
  • 335

华为机试——合并表记录

题目:合并表记录数据表记录包含表索引和数值,请对索引相同的记录进行合并,合并后表记录为相同索引表的数值求和。#include #include using namespace std;struct R...
  • u012260238
  • u012260238
  • 2016年01月10日 14:03
  • 297

合并表记录(map)

题目描述 数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。...
  • qq_20976745
  • qq_20976745
  • 2016年04月28日 16:13
  • 163

华为机试 合并表记录

数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。先输入键值对的个数然后输入成对的index和value值,以空格隔开输出合并...
  • huanhuan_bao
  • huanhuan_bao
  • 2018年02月11日 18:29
  • 11
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:合并表记录
举报原因:
原因补充:

(最多只允许输入30个字)