题解 | #合并表记录#

合并表记录

http://www.nowcoder.com/practice/de044e89123f4a7482bd2b214a685201

最开始就想到map, 然后要自动排序,就可是使用treeMap, 第二,用map自带的getOrDefault方法,如果根据key没有值,就用默认的0表示方法的值,如果能根据key找到对应的值,那么直接赋值

import java.util.*;
public class Main {
        public static void main(String[] args){
            Scanner sc = new Scanner(System.in);
            TreeMap<Integer,Integer>  map = new TreeMap<>();
            while(sc.hasNext()){
                int n = sc.nextInt();
                for(int i =0;i<n;i++){
                    int key = sc.nextInt();
                    int value = sc.nextInt();
                    map.put(key,map.getOrDefault(key,0)+value);
                }
                for(Integer i : map.keySet()){
                    System.out.println(i+" "+map.get(i));
                }
            }
       }
}
全部评论
import java.util.Scanner; import java.util.*; // 注意类名必须为 Main, 不要有任何 package xxx 信息 public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); // 注意 hasNext 和 hasNextLine 的区别 int count = in.nextInt(); Map<integer> map = new TreeMap<>(); while(in.hasNextLine()){ int first = in.nextInt(); int second = in.nextInt(); map.put(first,map.getOrDefault(first,0) + second); } Set<integer> keySet = map.keySet(); Iterator it = keySet.iterator(); while(it.hasNext()){ System.out.println(it.next() + " " + map.get(it.next())); } } } 编译不通过是为啥</integer></integer>
点赞 回复 分享
发布于 2023-10-25 20:07 湖北

相关推荐

程序员牛肉:主要是因为小厂的资金本来就很吃紧,所以更喜欢有实习经历的同学。来了就能上手。 而大厂因为钱多,实习生一天三四百的就不算事。所以愿意培养你,在面试的时候也就不在乎你有没有实习(除非是同级别大厂的实习。) 按照你的简历来看,同质化太严重了。项目也很烂大街。 要么换项目,要么考研。 你现在选择工作的话,前景不是很好了。
点赞 评论 收藏
分享
评论
40
4
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务