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

题目描述

输入描述:

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

输出描述:

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

输入例子:
4
0 1
0 2
1 2
3 4
输出例子:
0 3
1 2
3 4

import java.util.Scanner;

import java.util.SortedMap;

import java.util.TreeMap;

public class Main {

    public static void main(String[] args) {

        Scanner str = new Scanner(System.in);

        SortedMap<Integer,Integer> map = new TreeMap<>();

        int n = Integer.parseInt(str.nextLine());

        for (int i = 0;i<n;i++){

            String[] mid = str.nextLine().split("\\s+");

            addPare(map,mid);

        }

        System.out.println(mapToString(map));

    }

    

    private static String mapToString(SortedMap<Integer, Integer> map) {

        // TODO Auto-generated method stub

        StringBuilder builder = new StringBuilder();

        for(SortedMap.Entry<Integer,Integer>e:map.entrySet()){

            builder.append(e.getKey()).append(" ").append(e.getValue()).append("\r");

        }

        return builder.toString();

    }

    private static void addPare(SortedMap<Integer, Integer> map, String[] mid) {

        // TODO Auto-generated method stub

        int key = Integer.parseInt(mid[0]);

        int value = Integer.parseInt(mid[1]);

        if(map.containsKey(key)){

            map.put(key, map.get(key) + value);

        }else{

            map.put(key, value);

        }

    }

}

				
时间: 2024-11-01 12:02:27

数据表记录包含表索引和数值,请对表索引相同的记录进行合并,即将相同索引的数值进行求和运算,输出按照key值升序进行输出。的相关文章

Sqlite嵌入式数据库的安装、建库、建表、更新表结构以及数据导入导出等等详细过程记录

简介: SQLite 是实现了SQL 92标准的一个大子集的嵌入式数据库.其以在一个库中组合了数据库引擎和接口,能将所有数据存储于单个文件中而著名.我觉得SQLite的功能一定程度上居于MySQL 和PostgreSQL之间.尽管如此,在性能上面,SQLite常常快2-3倍 (甚至更多).这利益于其高度调整了的内部架构,因为它除去了服务器端到客户端和客户端到服务器端的通信. 而令人印象深刻的特点是你可将你的整个数据库系统放在其中.利用非常高效的内存组织,SQLite只需在很小的内存中维护其很小的

03: 数据导入导出 、 表记录基本操作 、 查询及匹配条件 、 多表查询

day03一数据导入二数据导出三管理表记录 *3.1 插入表记录3.2 查询表记录 (单表 多表 嵌套 连接)3.3 条件匹配3.4 更新表记录字段的值3.5 删除表记录++++++++++++++++++++++++++++++++一数据导入 : 把系统文件的内容存储到数据库的表里.把系统已有的用户信息存储到studb.user表/etc/passwd用户名 密码站位符 uid gid 描述信息 家目录 shell create database studb;create table stud

三十一.MySQL存储引擎 、 数据导入导出 管理表记录 匹配条件

1.MySQL存储引擎的配置 查看服务支持的存储引擎 查看默认存储类型 更改表的存储引擎 设置数据库服务默认使用的存储引擎 1.1 查看存储引擎信息 mysql> SHOW ENGINES\G 1.2 查看默认存储类型 mysql> SHOW VARIABLES LIKE 'default_storage_engine'; +------------------------+--------+ | Variable_name          | Value  | +-------------

25_MySQL存储引擎 、 数据导入导出 管理表记录 匹配条件

版本:5.7.28服务器:mysql 192.168.4.20 1.MySQL存储引擎的配置查看服务支持的存储引擎查看默认存储类型更改表的存储引擎设置数据库服务默认使用的存储引擎 查看存储引擎信息mysql> SHOW ENGINES;+--------------------+---------+-------------------| Engine             | Support |+--------------------+---------+-----------------

《BI那点儿事—数据的艺术》理解维度数据仓库——事实表、维度表、聚合表

事实表 在多维数据仓库中,保存度量值的详细值或事实的表称为“事实表”.一个按照州.产品和月份划分的销售量和销售额存储的事实表有5个列,概念上与下面的示例类似. Sate Product Mouth Units Dollars WA Mountain-100 January 3 7.95 WA Cable Lock January 4 7.32 OR Mountain-100 January 3 7.95 OR Cable Lock January 4 7.32 WA Mountain-100 F

数据库笔记10:插入数据 创建和操纵表

第二十章 插入数据 INSERT是用来插入(或添加)行到数据库表的.插入数据的几种方式: 1  插入完整的行 2 插入行的一部分 3  插入多行 4 插入某些查询结果 INSERT SELECT语句 INSERT INTO customers(cust_id,cust_name,cust_email) SELECT cust_id,cust_name,cust_email FROM custnew; 列省略 如果表中定义允许,则可以在INSERT操作中省略某些列,省略的列必须满足以下某个条件.

MYSQL千万级数据表,创建表及字段扩展的几条建议

MYSQL千万级数据表,创建表及字段扩展的几条建议 一:概述 当我们设计一个系统时,需要考虑到系统的运行一段时间后,表里数据量大约有多少,如果在初期,就能估算到某几张表数据量非常庞大时(比如聊天消息表),就要把表创建好,这篇文章从创建表,增加数据,以及字段扩展,这几个方面来给出建议. 二:创建表 假如现在我们需要创建IM项目中的聊天消息表,这个表数据量大,读操作远超过写操作,我们都知道,mysql常用的数据库引擎主要有innodb,myisam,这两个数据库引擎主要区别是,innodb支持事务,

给你100万条数据的一张表,你将如何查询优化?

1.两种查询引擎查询速度(myIsam 引擎 ) InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行. MyISAM只要简单的读出保存好的行数即可. 注意的是,当count(*)语句包含 where条件时,两种表的操作有些不同,InnoDB类型的表用count(*)或者count(主键),加上where col 条件.其中col列是表的主键之外的其他具有唯一约束索引的列.这样查询时速度会很快.就是可

SQL Server 的表数据简单操作(表数据查询)

--表数据查询----数据的基本查询-- --数据简单的查询--select * | 字段名[,字段名2, ...] from 数据表名 [where 条件表达式] 例:use 商品管理数据库goselect * from 商品信息表select 商品编号,商品名称,产地 from 商品信息表selelct * from 商品信息表 where 产地='辽宁沈阳' --关键字辅助查询----1)distinct关键字 (用来消除查询结果中的重复行,使用时紧跟在select命令后)--select