From 93e88b94b79afe2d456d73c1aa15b713773a701f Mon Sep 17 00:00:00 2001 From: MasterofJOKers Date: Sun, 18 Dec 2022 16:55:34 +0100 Subject: [PATCH] day04: Change implementation for part 2 This will print all overlapping ranges instead of only fully contained ranges. --- day04/src/main.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/day04/src/main.rs b/day04/src/main.rs index be78f8c..b114d52 100644 --- a/day04/src/main.rs +++ b/day04/src/main.rs @@ -16,10 +16,10 @@ fn main() -> Result<(), Box> { let range_a = ops::Range { start: range_a_u32[0], end: range_a_u32[1] + 1 }; let range_b_u32 = range_strs[1].split("-").map(|x| x.parse::().unwrap()).collect::>(); let range_b = ops::Range { start: range_b_u32[0], end: range_b_u32[1] + 1 }; - if (range_a.contains(&range_b.start) && range_a.contains(&(range_b.end - 1))) || (range_b.contains(&range_a.start) && range_b.contains(&(range_a.end - 1))) { + if range_a.contains(&range_b.start) || range_a.contains(&(range_b.end - 1)) || range_b.contains(&range_a.start) || range_b.contains(&(range_a.end - 1)) { count += 1; } } - println!("Found {} completely contained ranges.", count); + println!("Found {} overlapping ranges.", count); Ok(()) }