From c875ec58260fd7a1cc5484731d92d751953301c3 Mon Sep 17 00:00:00 2001 From: David Ashby Date: Sun, 4 Dec 2022 19:25:13 -0500 Subject: [PATCH] remove all those unwraps and just index directly into the vector --- 04/main.rs | 26 ++++++++++---------------- 1 file changed, 10 insertions(+), 16 deletions(-) diff --git a/04/main.rs b/04/main.rs index 0614242..995bc04 100644 --- a/04/main.rs +++ b/04/main.rs @@ -32,16 +32,14 @@ fn part_one() { let mut overlaps = 0; for line in lines { if let Ok(ranges) = line { - let v: Vec> = ranges + let v: Vec> = ranges .split(",") - .map(|r| r.split("-").map(|i| i.parse::().unwrap()).collect()) + .map(|r| r.split("-").map(|i| i.parse::().unwrap()).collect()) .collect(); // 00 ... 01 // 10 ... 11 - if (v.get(0).unwrap().get(0) <= v.get(1).unwrap().get(0) - && v.get(0).unwrap().get(1) >= v.get(1).unwrap().get(1)) - || (v.get(1).unwrap().get(0) <= v.get(0).unwrap().get(0) - && v.get(1).unwrap().get(1) >= v.get(0).unwrap().get(1)) + if (v[0][0] <= v[1][0] && v[0][1] >= v[1][1]) + || (v[1][0] <= v[0][0] && v[1][1] >= v[0][1]) { overlaps += 1; } @@ -56,21 +54,17 @@ fn part_two() { let mut overlaps = 0; for line in lines { if let Ok(ranges) = line { - let v: Vec> = ranges + let v: Vec> = ranges .split(",") - .map(|r| r.split("-").map(|i| i.parse::().unwrap()).collect()) + .map(|r| r.split("-").map(|i| i.parse::().unwrap()).collect()) .collect(); // 00 ... 01 // 10 ... 11 // uuuuuugh - if (v.get(0).unwrap().get(0) <= v.get(1).unwrap().get(0) - && v.get(0).unwrap().get(1) >= v.get(1).unwrap().get(1)) - || (v.get(1).unwrap().get(0) <= v.get(0).unwrap().get(0) - && v.get(1).unwrap().get(1) >= v.get(0).unwrap().get(1)) - || (v.get(0).unwrap().get(0) <= v.get(1).unwrap().get(1) - && v.get(0).unwrap().get(0) >= v.get(1).unwrap().get(0)) - || (v.get(0).unwrap().get(1) >= v.get(1).unwrap().get(0) - && v.get(0).unwrap().get(1) <= v.get(1).unwrap().get(1)) + if (v[0][0] <= v[1][0] && v[0][1] >= v[1][1]) + || (v[1][0] <= v[0][0] && v[1][1] >= v[0][1]) + || (v[0][0] <= v[1][1] && v[0][0] >= v[1][0]) + || (v[0][1] >= v[1][0] && v[0][1] <= v[1][1]) { overlaps += 1; }