Skip to content

Commit 881790a

Browse files
committed
Remove fill method
1 parent 545ca61 commit 881790a

File tree

5 files changed

+5
-17
lines changed

5 files changed

+5
-17
lines changed

src/util/collection.rs

-7
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,8 @@
11
pub trait VecExt<T> {
2-
fn fill(n: usize, t: T) -> Vec<T> where T: Copy;
32
fn tabulate(n: usize, f: impl Fn(usize) -> T) -> Vec<T>;
43
}
54

65
impl<T> VecExt<T> for Vec<T> {
7-
fn fill(n: usize, t: T) -> Vec<T> where T: Copy {
8-
let mut vec: Vec<T> = Vec::with_capacity(n);
9-
(0..n).for_each(|_| vec.push(t));
10-
vec
11-
}
12-
136
fn tabulate(n: usize, f: impl Fn(usize) -> T) -> Vec<T> {
147
let mut vec: Vec<T> = Vec::with_capacity(n);
158
(0..n).for_each(|i| vec.push(f(i)));

src/year2022/day08.rs

+2-4
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
#![allow(clippy::needless_range_loop)]
22

3-
use crate::util::collection::*;
4-
53
type Input = (usize, Vec<usize>);
64

75
pub fn parse(input: &str) -> Input {
@@ -17,7 +15,7 @@ pub fn parse(input: &str) -> Input {
1715

1816
pub fn part1(input: &Input) -> usize {
1917
let (width, digits) = input;
20-
let mut visible: Vec<bool> = Vec::fill(digits.len(), false);
18+
let mut visible: Vec<bool> = vec![false; digits.len()];
2119

2220
for i in 1..(*width - 1) {
2321
let mut left_max = 0;
@@ -57,7 +55,7 @@ pub fn part1(input: &Input) -> usize {
5755

5856
pub fn part2(input: &Input) -> usize {
5957
let (width, digits) = input;
60-
let mut scenic: Vec<usize> = Vec::fill(digits.len(), 1);
58+
let mut scenic: Vec<usize> = vec![1; digits.len()];
6159

6260
for i in 1..(*width - 1) {
6361
let mut left_max = [0; 11];

src/year2022/day09.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use crate::util::collection::*;
21
use crate::util::parse::*;
32
use crate::util::point::*;
43
use std::collections::HashSet;
@@ -33,7 +32,7 @@ pub fn part2(input: &[Point]) -> usize {
3332
}
3433

3534
fn simulate(input: &[Point], size: usize) -> usize {
36-
let mut rope: Vec<Point> = Vec::fill(size, ORIGIN);
35+
let mut rope: Vec<Point> = vec![ORIGIN; size];
3736
let mut tail: HashSet<Point> = HashSet::new();
3837

3938
for step in input {

src/year2022/day11.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use crate::util::collection::*;
21
use crate::util::parse::*;
32

43
pub struct Monkey {
@@ -58,7 +57,7 @@ pub fn part2(input: &[Monkey]) -> u64 {
5857
}
5958

6059
fn play(monkeys: &[Monkey], rounds: u32, adjust: impl Fn(u64) -> u64) -> u64 {
61-
let mut business: Vec<u64> = Vec::fill(monkeys.len(), 0);
60+
let mut business: Vec<u64> = vec![0; monkeys.len()];
6261

6362
for start_index in 0..monkeys.len() {
6463
for start_item in monkeys[start_index].items.iter() {

src/year2022/day14.rs

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
use crate::util::collection::*;
21
use crate::util::parse::*;
32

43
pub struct Cave {
@@ -40,7 +39,7 @@ pub fn parse(input: &str) -> Cave {
4039
let width = 2 * max_y + 5;
4140
let height = max_y + 3;
4241
let start = max_y + 2;
43-
let mut sand = Vec::fill((width * height) as usize, false);
42+
let mut sand = vec![false; (width * height) as usize];
4443

4544
for row in points {
4645
for window in row.windows(4).step_by(2) {

0 commit comments

Comments
 (0)