From 343707c63c1176fe36cc76e513c483aafcc22c1c Mon Sep 17 00:00:00 2001 From: Bill Thiede Date: Mon, 6 Dec 2021 19:13:46 -0800 Subject: [PATCH] Day 6 part 2 slightly faster over pre-rotate_left version. --- 2021/src/day6.rs | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/2021/src/day6.rs b/2021/src/day6.rs index 52a0d6e..5992abd 100644 --- a/2021/src/day6.rs +++ b/2021/src/day6.rs @@ -88,10 +88,16 @@ fn part2(input: &str) -> Result { .into_iter() .for_each(|n| counts[n] += 1); for _ in 0..256 { - let ready = counts[0]; - counts.rotate_left(1); - counts[6] += ready; - counts[8] = ready; + let mut tmp = [0; 9]; + for (i, c) in counts.iter().enumerate() { + if i == 0 { + tmp[6] = *c; + tmp[8] = *c; + } else { + tmp[i - 1] += *c; + } + } + counts = tmp; } Ok(counts.iter().sum()) }