From 2249b4b9ef9c9a5b5edfaecaf9c68339870260f8 Mon Sep 17 00:00:00 2001 From: Daniel Seiller Date: Wed, 9 Dec 2020 19:15:11 +0100 Subject: [PATCH] Day 9, faster --- src/day9.rs | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/day9.rs b/src/day9.rs index 8204ed6..4e726b5 100644 --- a/src/day9.rs +++ b/src/day9.rs @@ -35,7 +35,7 @@ pub fn solve_part1(input: &Vec) -> usize { panic!("No match found!"); } -#[aoc(day9, part2)] +#[aoc(day9, part2,bruteforce)] pub fn solve_part2(input: &Vec) -> usize { let inv_num = solve_part1(input); for start in 0..input.len() { @@ -48,3 +48,14 @@ pub fn solve_part2(input: &Vec) -> usize { } panic!("No match found!"); } + +#[aoc(day9, part2,faster)] +pub fn solve_part2_fast(input: &Vec) -> usize { + let target_num = solve_part1(input); + for i in 2..=input.len() { + if let Some(w) = input.windows(i).find(|w| target_num==w.iter().sum()) { + return w.iter().max().unwrap()+w.iter().min().unwrap(); + } + } + panic!("No match found!"); +}