题解 | #简单错误记录#

简单错误记录

https://www.nowcoder.com/practice/2baa6aba39214d6ea91a2e03dff3fbeb

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

fn main() {
    let stdin = io::stdin();
    let mut m: HashMap<String, u8> = HashMap::new();
    let mut q: Vec<String> = Vec::new();
    unsafe {
        for line in stdin.lock().lines() {
            let ll = line.unwrap();
            let res: Vec<&str> = ll.split(" ").collect();
            let paths: Vec<&str> = res[0].split("\\").collect();
            let fname = paths.last().unwrap();
            let start = ll.len() - 1 - res[1].len() - fname.len().min(16);
            let key = ll[start..ll.len()].to_string();
            if let Some(_) = q.iter().find(|&i| (*i).eq(&key)) {} else { q.push(key.clone()) }
            m.entry(key).and_modify(|i| *i += 1).or_insert(1);
        }

        for i in (if q.len() > 8 {q.len() - 8} else {0})..q.len() {
            println!("{} {}", q[i], m[&q[i]]);
        }
    }
}

全部评论

相关推荐

牛客383479252号:9,2学生暑期实习失利开始投小厂,给这群人整自信了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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