From 02481656966b0a8dfc95cf3c22bcc049660ff7d4 Mon Sep 17 00:00:00 2001 From: Federico Igne Date: Sat, 26 Dec 2020 17:48:38 +0000 Subject: Move Rust exercises in a subdirectory --- pascals-triangle/src/lib.rs | 34 ---------------------------------- 1 file changed, 34 deletions(-) delete mode 100644 pascals-triangle/src/lib.rs (limited to 'pascals-triangle/src') diff --git a/pascals-triangle/src/lib.rs b/pascals-triangle/src/lib.rs deleted file mode 100644 index 7b2145b..0000000 --- a/pascals-triangle/src/lib.rs +++ /dev/null @@ -1,34 +0,0 @@ -#[derive(Debug)] -pub struct PascalsTriangle { - rows: Vec>, -} - -impl PascalsTriangle { - fn next_row(row: &[u32]) -> Vec { - let mut next = Vec::new(); - let last = row.iter().fold(0, |p, n| { - next.push(p + n); - *n - }); - next.push(last); - next - } -} - -impl PascalsTriangle { - pub fn new(row_count: u32) -> Self { - let mut rows = Vec::new(); - if row_count > 0 { - rows.push(vec![1]); - (1..row_count).for_each(|i| { - let irow = Self::next_row(&rows[(i as usize) - 1]); - rows.push(irow); - }) - } - PascalsTriangle { rows } - } - - pub fn rows(&self) -> Vec> { - self.rows.clone() - } -} -- cgit v1.2.3