题解 | #合并表记录#

合并表记录

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

use std::io::{self, *};
use std::collections::HashMap;

fn main() {
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).unwrap();
    //行数
    let n = s.trim().parse::<i32>().unwrap();
    let mut map: HashMap<i32, i32> = HashMap::new();
    for _ in 0..n {
        let mut s = String::new();
        std::io::stdin().read_line(&mut s).unwrap();
        let mut iter = s.split_whitespace();
        let key = iter.next().unwrap().parse::<i32>().unwrap();
        let value = iter.next().unwrap().parse::<i32>().unwrap();
        if map.contains_key(&key) {
            map.insert(key, map.get(&key).unwrap() + value);
        }else {
            map.insert(key, value);
        }

    }
    let mut keys: Vec<i32> = map.keys().copied().collect();
    keys.sort();
    keys.iter().for_each(|key| {
        println!("{} {}", key, map.get(key).unwrap());
    });


}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

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