Champagne Tower LeetCode solution in Rust
1impl Solution {2pub fn champagne_tower(poured: i32, query_row: i32, query_glass: i32) -> f64 {3let mut dp = vec![vec![0.0; query_row as usize + 1]; query_row as usize + 1];4dp[0][0] = poured as f64;56for i in 1..dp.len() {7for j in 0..=i {8let l = *dp[i - 1].get(j - 1).unwrap_or(&0.0);9let r = dp[i - 1][j];10dp[i][j] = 0f64.max(l - 1.0) / 2.0 + 0f64.max(r - 1.0) / 2.0;11}12}131f64.min(dp[query_row as usize][query_glass as usize])14}15}