2016/06
This commit is contained in:
45
2016/06/src/main.rs
Normal file
45
2016/06/src/main.rs
Normal file
@@ -0,0 +1,45 @@
|
||||
use std::io::{self, BufRead};
|
||||
use std::collections::HashMap;
|
||||
|
||||
|
||||
fn main() {
|
||||
let stdin = io::stdin();
|
||||
|
||||
let lines = stdin.lock().lines()
|
||||
.filter_map(|x| x.ok())
|
||||
.collect::<Vec<_>>();
|
||||
|
||||
let mut count: Vec<HashMap<char, u16>> = vec![HashMap::new(); 1024];
|
||||
|
||||
for line in lines {
|
||||
for (i, ch) in line.chars().enumerate() {
|
||||
*count[i].entry(ch).or_insert(0) += 1;
|
||||
}
|
||||
}
|
||||
|
||||
let corrected_most: String = count.iter()
|
||||
.filter_map(|x| {
|
||||
let mut vec: Vec<_> = x.iter().collect();
|
||||
|
||||
vec.sort_by_key(|k| k.1);
|
||||
|
||||
vec.pop()
|
||||
})
|
||||
.map(|x| *x.0)
|
||||
.collect();
|
||||
|
||||
let corrected_least: String = count.iter()
|
||||
.filter_map(|x| {
|
||||
let mut vec: Vec<_> = x.iter().collect();
|
||||
|
||||
vec.sort_by_key(|k| k.1);
|
||||
vec.reverse();
|
||||
|
||||
vec.pop()
|
||||
})
|
||||
.map(|x| *x.0)
|
||||
.collect();
|
||||
|
||||
println!("corrected_most={}", corrected_most);
|
||||
println!("corrected_least={}", corrected_least);
|
||||
}
|
||||
Reference in New Issue
Block a user