def part1(input: String) = {
val index = input
.toCharArray()
.sliding(4)
.zipWithIndex
.map((chars, i) => (chars, i + 4))
.find((chars, _) => chars.distinct.length == 4)
.head
._2;
println("Day 6 Part 1: " + index);
}
fn part_1(input: &str) {
let index = input
.as_bytes()
.windows(4)
.enumerate()
.map(|(i, byte)| (i + 4, byte.iter().collect::<HashSet<_>>()))
.find(|(_, set)| set.len() == 4)
.unwrap()
.0;
println!("Day 6 Part 1: {index}")
}
其實就是改變 Part 1 的數字而已啊 😂
def part2(input: String) = {
val index = input
.toCharArray()
.sliding(14)
.zipWithIndex
.map((chars, i) => (chars, i + 14))
.find((chars, _) => chars.distinct.length == 14)
.head
._2;
println("Day 6 Part 2: " + index);
}
一樣,就只是改變 Part 1 的數字而已 😂
fn part_2(input: &str) {
let index = input
.as_bytes()
.windows(14)
.enumerate()
.map(|(i, byte)| (i + 14, byte.iter().collect::<HashSet<_>>()))
.find(|(_, set)| set.len() == 14)
.unwrap()
.0;
println!("Day 6 Part 2: {index}")
}