From 210968003061ef19ab0dda3cc21672b1efcdb642 Mon Sep 17 00:00:00 2001 From: kageru Date: Thu, 1 Dec 2022 12:07:38 +0100 Subject: [PATCH] use binary heap for 2022/1/2 --- 2022/src/bin/day01.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/2022/src/bin/day01.rs b/2022/src/bin/day01.rs index 9045619..82feaf8 100644 --- a/2022/src/bin/day01.rs +++ b/2022/src/bin/day01.rs @@ -1,5 +1,7 @@ #![feature(test)] extern crate test; +use std::collections::BinaryHeap; + use aoc2022::{boilerplate, common::*}; const DAY: usize = 01; @@ -14,9 +16,8 @@ fn part1(parsed: &Parsed) -> usize { } fn part2(parsed: &Parsed) -> usize { - let mut sorted: Vec<_> = parsed.clone(); - sorted.sort(); - sorted.iter().rev().take(3).sum() + let mut sorted: BinaryHeap<_> = parsed.iter().copied().collect(); + (0..3).map(|_| sorted.pop().unwrap()).sum() } boilerplate! {