diff --git a/src/main.rs b/src/main.rs index e09a05a..ecbc2cf 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,19 +1,21 @@ -use std::cmp::max; - struct Solution; impl Solution { - pub fn does_valid_array_exist(derived: Vec) -> bool { - let mut a = 0; - let mut b = 1; - for i in derived.iter() { - a ^= i; - b ^= i; + pub fn generate(num_rows: i32) -> Vec> { + let mut ans : Vec>= vec![vec![1]]; + for i in 1..num_rows { + let mut row = vec![1]; + let prev_row = &ans[(i - 1) as usize]; + for j in 1..prev_row.len() { + row.push(prev_row[j - 1] + prev_row[j]); + } + row.push(1); + ans.push(row); } - a == 0 || b == 1 + ans } } fn main() { - let sl = Solution::does_valid_array_exist(vec![1,1,0]); + let sl = Solution::generate(7); println!("{:?}", sl); }