题解 | #合并表记录#

合并表记录

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

该说不说,C++解题真简单,直接搞个map就解决了,上代码:

#include <iostream>
#include <map>

int main() {
  int n = 0, key = 0, val = 0;
  std::map<int, int> m;
  
  std::cin >> n;
  while (std::cin >> key >> val) {
    m[key] += val;
  }
  
  for (auto& t : m) {
    std::cout << t.firse << " " << t.second << std::endl;
  }
  
  return 0;
}

Java也一样,搞个TreeMap就行, 上代码:

import java.util.Scanner;
import java.util.TreeMap;
import java.util.Map;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int n = 0, key = 0, val = 0;
        TreeMap<Integer, Integer> m = new TreeMap<>();
        
        n = sc.nextInt();
        for (int i = 0; i < n; ++i) {
            key = sc.nextInt();
            val = sc.nextInt(); 
            m.put(key, m.getOrDefault(key, 0)+val);
        }
        
        for (Map.Entry<Integer, Integer> e : m.entrySet()) {
            System.out.println(e.getKey() + " " + e.getValue());
        }
    }
}
全部评论

相关推荐

06-15 18:44
黄淮学院 Java
Lynn012:如果是居民楼还是算了吧,看着有点野呢
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
完美的潜伏者许愿简历...:隐藏信息被你提取出来了,暗示,这就是暗示
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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