mirror of
https://github.com/Baipyrus/AoC-23.git
synced 2024-11-15 02:03:49 +00:00
clean up: autoformat
This commit is contained in:
parent
1525ddfa95
commit
ae4332c7d3
@ -4,8 +4,7 @@ use std::path::Path;
|
||||
|
||||
pub fn read_file(name: &str) -> String {
|
||||
let path = Path::new("src").join(name).join("input.txt");
|
||||
let mut file = File::open(&path)
|
||||
.expect(&format!("Unable to open input for '{name}'."));
|
||||
let mut file = File::open(&path).expect(&format!("Unable to open input for '{name}'."));
|
||||
|
||||
let mut contents = String::new();
|
||||
file.read_to_string(&mut contents)
|
||||
|
@ -9,8 +9,7 @@ pub fn split_lines(input: &str) -> Vec<String> {
|
||||
}
|
||||
|
||||
pub fn match_input(entry: &str, re: &str) -> Vec<String> {
|
||||
let regex = Regex::new(re)
|
||||
.expect("Invalid regex provided!");
|
||||
let regex = Regex::new(re).expect("Invalid regex provided!");
|
||||
|
||||
let matches: Vec<String> = regex
|
||||
.find_iter(entry)
|
||||
@ -35,13 +34,13 @@ pub fn convert_num(input: Vec<Vec<String>>) -> Vec<Vec<i32>> {
|
||||
input
|
||||
.into_iter()
|
||||
.map(|a| {
|
||||
a
|
||||
.into_iter()
|
||||
a.into_iter()
|
||||
.map(|b| {
|
||||
b
|
||||
.trim()
|
||||
.parse::<i32>()
|
||||
b.trim()
|
||||
.parse::<i32>()
|
||||
.expect("Invalid numeric value in input!")
|
||||
}).collect()
|
||||
}).collect()
|
||||
})
|
||||
.collect()
|
||||
})
|
||||
.collect()
|
||||
}
|
||||
|
@ -1,4 +1,4 @@
|
||||
use crate::common::{convert_num, read_file, match_inputs, split_lines};
|
||||
use crate::common::{convert_num, match_inputs, read_file, split_lines};
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn part_two() {
|
||||
@ -18,72 +18,35 @@ fn predict(forward: bool) {
|
||||
let current = s.to_vec();
|
||||
let mut next = extra_diff(current);
|
||||
expand(&mut next, forward);
|
||||
let history = next
|
||||
.first()
|
||||
.unwrap();
|
||||
let history = next.first().unwrap();
|
||||
|
||||
if forward {
|
||||
history
|
||||
.last()
|
||||
.unwrap()
|
||||
.clone()
|
||||
history.last().unwrap().clone()
|
||||
} else {
|
||||
history
|
||||
.first()
|
||||
.unwrap()
|
||||
.clone()
|
||||
history.first().unwrap().clone()
|
||||
}
|
||||
})
|
||||
.collect();
|
||||
|
||||
let sum: i32 = predictions
|
||||
.iter()
|
||||
.sum();
|
||||
let sum: i32 = predictions.iter().sum();
|
||||
|
||||
println!("The sum of all prediction values is: '{sum}'.");
|
||||
}
|
||||
|
||||
fn expand(strct: &mut Vec<Vec<i32>>, forward: bool) {
|
||||
let last = strct
|
||||
.last_mut()
|
||||
.unwrap();
|
||||
last.push(*last
|
||||
.last()
|
||||
.unwrap()
|
||||
);
|
||||
let last = strct.last_mut().unwrap();
|
||||
last.push(*last.last().unwrap());
|
||||
|
||||
for i in (0..strct.len() - 1).rev() {
|
||||
let last = strct
|
||||
.get(i + 1)
|
||||
.unwrap()
|
||||
.clone();
|
||||
let current = strct
|
||||
.get_mut(i)
|
||||
.unwrap();
|
||||
|
||||
let last = strct.get(i + 1).unwrap().clone();
|
||||
let current = strct.get_mut(i).unwrap();
|
||||
|
||||
if forward {
|
||||
current.push(
|
||||
current
|
||||
.last()
|
||||
.unwrap()
|
||||
.clone() +
|
||||
last
|
||||
.last()
|
||||
.unwrap()
|
||||
.clone()
|
||||
);
|
||||
current.push(current.last().unwrap().clone() + last.last().unwrap().clone());
|
||||
} else {
|
||||
current.insert(
|
||||
0,
|
||||
current
|
||||
.first()
|
||||
.unwrap()
|
||||
.clone() -
|
||||
last
|
||||
.first()
|
||||
.unwrap()
|
||||
.clone()
|
||||
current.first().unwrap().clone() - last.first().unwrap().clone(),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -1,9 +1,7 @@
|
||||
use crate::common::{read_file, match_inputs, split_lines};
|
||||
use crate::common::{match_inputs, read_file, split_lines};
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn part_two() {
|
||||
|
||||
}
|
||||
pub fn part_two() {}
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub fn part_one() {
|
||||
@ -21,7 +19,9 @@ fn sum_dist(galaxies: Vec<Galaxy>) -> usize {
|
||||
|
||||
for (i, a) in galaxies.iter().enumerate() {
|
||||
for b in galaxies.iter().skip(i) {
|
||||
if b.compare(a) { continue; }
|
||||
if b.compare(a) {
|
||||
continue;
|
||||
}
|
||||
distances += a.distance(b);
|
||||
}
|
||||
}
|
||||
@ -34,7 +34,9 @@ fn extract(symbols: Vec<Vec<String>>) -> Vec<Galaxy> {
|
||||
|
||||
for (y, line) in symbols.iter().enumerate() {
|
||||
for (x, symbol) in line.iter().enumerate() {
|
||||
if symbol.as_str() == "." { continue; }
|
||||
if symbol.as_str() == "." {
|
||||
continue;
|
||||
}
|
||||
galaxies.push(Galaxy { x, y });
|
||||
}
|
||||
}
|
||||
@ -42,9 +44,7 @@ fn extract(symbols: Vec<Vec<String>>) -> Vec<Galaxy> {
|
||||
galaxies
|
||||
}
|
||||
|
||||
fn expand(galaxies: &mut Vec<Galaxy>) {
|
||||
|
||||
}
|
||||
fn expand(galaxies: &mut Vec<Galaxy>) {}
|
||||
|
||||
struct Galaxy {
|
||||
x: usize,
|
||||
|
Loading…
Reference in New Issue
Block a user