华为OJ 初级:合并表记录
来源:互联网 发布:开源 php客服系统源码 编辑:程序博客网 时间:2024/05/05 16:09
先输入键值对的个数
然后输入成对的index和value值,以换行符隔开
输出合并后的键值对(多行)
/** * 思路:合并表记录,由于记录是由键值对组成的,所以首先想到的是可以存储键值对的Map * Map中有HashMap与TreeMap,但是要保持输入时的顺序,而TreeMap会按照key的值进行排序,所以选择HashMap * HashMap的key是唯一的,所以当输入的key和HahMap中已有的key相等时,把该key对应的value和输入的value值相加即可 **/import java.util.HashMap;import java.util.Map;import java.util.Scanner;public class Main{public static void main(String[] args) {Scanner scanner = new Scanner(System.in);int n = scanner.nextInt(); //需要输入的键值对数HashMap<Integer, Integer> hasMap = new HashMap<>(); //定义HashMapfor (int i = 0; i < n; i++) {int keys = scanner.nextInt(); //输入keyint values = scanner.nextInt(); //输入valueint temp = 0;if (hasMap.containsKey(keys)) { //当输入的key是HashMap中已有的key时temp = hasMap.get(keys) + values; //把该key对应的value和输入的value相加hasMap.put(keys, temp);}else {hasMap.put(keys, values); //当不是已有的key时,直接输入key和value}}scanner.close();forEach(hasMap.entrySet());}static void forEach(Iterable<Map.Entry<Integer, Integer>> iterable){ //定义方法答应key和value的值for(Map.Entry<Integer, Integer> entry : iterable){System.out.println(entry.getKey());System.out.println(entry.getValue());}}}
0 0
- 华为OJ 初级:合并表记录
- 华为oj初级 合并表记录
- 华为OJ:合并表记录
- 【华为OJ】合并表记录
- 华为OJ(合并表记录)
- 华为OJ(合并表记录)
- 【华为OJ】【008-合并表记录】
- 华为OJ——合并表记录
- 华为OJ——合并表记录
- 华为OJ——合并表记录
- 华为OJ_1956_合并表记录
- 【华为OJ8】合并表记录
- 合并表记录(华为机试题)
- 华为机试题:合并表记录
- 华为机试 合并表记录
- 华为上机题之合并表记录
- java----------华为机试------------合并表记录
- 牛客网华为在线训练---合并表记录
- LaTex 符号
- js form对象的三种获取方式
- 给Qt生成的exe执行程序添加版本信息
- DirectX 因素:了解 XAudio2 中的筛选器
- ViewPager的使用(实现微信左右切换页卡功能)
- 华为OJ 初级:合并表记录
- 2016.7.8模拟赛总结
- android studio adb 端口被占用http://blog.csdn.net/u012005313/article/details/46964167
- ios 设置tableViewcell中的图片大小
- python模块之时间模块
- base之basictypes.h基本数据类型 (1下)
- 6步实现laravel图片上传
- Junit 学习之路一 junit3与junit4的区别
- Python Turorial 学习笔记8 --Classes