coding_pk 0.13.0

A simple pk for coding solution
Documentation
pub fn min_path_sum(grid: Vec<Vec<i32>>) -> i32 {
    let cols = grid[0].len();
    let rows = grid.len();

    let mut res_matrix: Vec<Vec<i32>> = vec![vec![i32::MAX; cols + 1]; rows + 1];
    res_matrix[rows][cols - 1] = 0;

    for row in (0..rows).rev() {
        for col in (0..cols).rev() {
            res_matrix[row][col] = grid[row][col] + res_matrix[row + 1][col].min(res_matrix[row][col + 1]);
        }
    }

    res_matrix[0][0]
}

#[cfg(test)]
mod tests {
    use super::*;

    #[test]
    fn test_min_path_sum() {
        assert_eq!(
            min_path_sum(vec![vec![1, 3, 1], vec![1, 5, 1], vec![4, 2, 1]]),
            7
        );
        assert_eq!(min_path_sum(vec![vec![1, 2, 3], vec![4, 5, 6]]), 12);
    }
}