Number of Dice Rolls With Target Sum LeetCode solution in Rust

1
const MODULO: usize = 1000000007;
2

3
impl Solution {
4
pub fn num_rolls_to_target(n: i32, k: i32, target: i32) -> i32 {
5
let (n, k, target) = (n as usize, k as usize, target as usize);
6
let (mut dp_prev, mut dp_curr) = (vec![0; target + 1], vec![0; target + 1]);
7
dp_prev[0] = 1;
8
for _ in 0..n {
9
for j in 1..=target {
10
for m in 1..=k {
11
if m <= j {
12
dp_curr[j] = (dp_curr[j] + dp_prev[j - m]) % MODULO;
13
}
14
}
15
}
16
std::mem::swap(&mut dp_curr, &mut dp_prev);
17
dp_curr.fill(0);
18
}
19
dp_prev[target] as _
20
}
21
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0