Untitled
unknown
rust
2 years ago
613 B
13
Indexable
use std::fs;
fn main() {
let content = fs::read_to_string("input.txt").expect("failed to read file");
println!("part 1: {}", part_one(&content, 4));
println!("part 2: {}", part_one(&content, 14));
}
fn part_one(input: &str, window: usize) -> usize {
input
.as_bytes()
.windows(window)
.filter_map(|elements| {
elements
.into_iter()
.map(|elem| 1 << (*elem - b'a'))
.reduce(|left, right| left | right)
})
.position(|num: u64| num.count_ones() == window as _)
.unwrap()
+ window
}Editor is loading...