2022 rust minor improvements
This commit is contained in:
parent
a81d2e2d71
commit
bc2d3c9725
|
@ -95,7 +95,7 @@ impl MatchResult {
|
|||
}
|
||||
|
||||
|
||||
fn solve1(data: &Vec<(char, char)>) -> i32 {
|
||||
fn solve1(data: &[(char, char)]) -> i32 {
|
||||
data.iter()
|
||||
.fold(0, |acc, (other, my)| {
|
||||
let my = Shape::from(my);
|
||||
|
@ -104,7 +104,7 @@ fn solve1(data: &Vec<(char, char)>) -> i32 {
|
|||
})
|
||||
}
|
||||
|
||||
fn solve2(data: &Vec<(char, char)>) -> i32 {
|
||||
fn solve2(data: &[(char, char)]) -> i32 {
|
||||
data.iter()
|
||||
.fold(0, |acc, (other, result)| {
|
||||
let result = MatchResult::from(result);
|
||||
|
|
|
@ -12,7 +12,7 @@ pub fn run() -> () {
|
|||
}
|
||||
|
||||
|
||||
fn solve1(data: &Vec<((i32, i32), (i32, i32))>) -> usize {
|
||||
fn solve1(data: &[((i32, i32), (i32, i32))]) -> usize {
|
||||
data.iter()
|
||||
.filter(|((s1, e1), (s2, e2))|
|
||||
s1 <= s2 && e2 <= e1 || s2 <= s1 && e1 <= e2
|
||||
|
@ -20,7 +20,7 @@ fn solve1(data: &Vec<((i32, i32), (i32, i32))>) -> usize {
|
|||
.count()
|
||||
}
|
||||
|
||||
fn solve2(data: &Vec<((i32, i32), (i32, i32))>) -> usize {
|
||||
fn solve2(data: &[((i32, i32), (i32, i32))]) -> usize {
|
||||
data.iter()
|
||||
.filter(|((s1, e1), (s2, e2))|
|
||||
s1 <= e2 && s2 <= e1
|
||||
|
|
|
@ -11,15 +11,15 @@ pub fn run() -> () {
|
|||
}
|
||||
|
||||
|
||||
fn solve1(data: &Vec<char>) -> usize {
|
||||
marker_for(&data, 4)
|
||||
fn solve1(data: &[char]) -> usize {
|
||||
marker_for(data, 4)
|
||||
}
|
||||
|
||||
fn solve2(data: &Vec<char>) -> usize {
|
||||
marker_for(&data, 14)
|
||||
fn solve2(data: &[char]) -> usize {
|
||||
marker_for(data, 14)
|
||||
}
|
||||
|
||||
fn marker_for(data: &Vec<char>, window_len: usize) -> usize {
|
||||
fn marker_for(data: &[char], window_len: usize) -> usize {
|
||||
data.windows(window_len)
|
||||
.enumerate()
|
||||
.filter_map(|(idx, window)| window.iter()
|
||||
|
@ -34,10 +34,7 @@ fn marker_for(data: &Vec<char>, window_len: usize) -> usize {
|
|||
fn parse_data(data: Vec<String>) -> Vec<char> {
|
||||
data.into_iter()
|
||||
.next()
|
||||
.map(|char| char
|
||||
.chars()
|
||||
.collect()
|
||||
)
|
||||
.map(|char| char.chars().collect())
|
||||
.unwrap()
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue