day02-2 super-fast

This commit is contained in:
Johannes
2018-12-02 19:12:01 +01:00
parent 062c30ece4
commit 088179a007
2 changed files with 24 additions and 1 deletions

View File

@@ -1,5 +1,4 @@
fn main() { fn main() {
// aoc_2018::tasks::day02::task1(); // aoc_2018::tasks::day02::task1();
// aoc_2018::tasks::day02::task2(); // aoc_2018::tasks::day02::task2();
aoc_2018::tasks::day02::task2_linear();
} }

View File

@@ -51,6 +51,30 @@ pub fn task2() {
println!("Part 2: None found!"); println!("Part 2: None found!");
} }
pub fn task2_linear_asterisk() {
let input = utils::read_file("input/day02.txt");
let mut hashes =
HashSet::<String>::with_capacity(input.len() * input.lines().next().unwrap().len());
for line in input.lines() {
for i in 0..line.len() {
let string: String = line
.chars()
.enumerate()
.map(|(index, c)| if index == i { '*' } else { c })
.collect();
if hashes.contains(&string) {
println!("{} is double", string);
return;
} else {
hashes.insert(string);
}
}
}
}
pub fn task2_linear() { pub fn task2_linear() {
let input = utils::read_file("input/day02.txt"); let input = utils::read_file("input/day02.txt");