finished day 1

This commit is contained in:
Adam "Touchdown dance" Kramer 2020-12-02 18:24:52 -08:00
parent 0a6beb9bb6
commit 59459e7489

View File

@ -40,8 +40,30 @@ use std::{fs::{File}, io};
use std::collections::HashSet;
use std::io::{BufRead, BufReader};
fn find_triple(target: i32, list: &Vec<i32>, set: &HashSet<i32>) -> i32 {
for i in list {
let product = find_pair(target - i, list, set);
if product > 0 {
return product * i;
}
}
0
}
fn find_pair(target: i32, list: &Vec<i32>, set: &HashSet<i32>) -> i32 {
for i in list {
if i > &target {
break
}
let val = target - i;
if set.contains(&val) {
return i * val;
}
}
0
}
fn main() -> io::Result<()> {
//let contents = fs::read_to_string("1.input").expect("Couldn't read \"1.input\"");
let file = File::open("1.input")?;
let reader = BufReader::new(file);
@ -53,5 +75,10 @@ fn main() -> io::Result<()> {
list.push(value);
set.insert(value);
}
list.sort();
println!("Pair is {}", find_pair(2020, &list, &set));
println!("Triple is {}", find_triple(2020, &list, &set));
Ok(())
}