20250121 finished.

This commit is contained in:
jackfiled 2025-01-21 11:33:04 +08:00
parent 465899b94f
commit d705a588f8
2 changed files with 47 additions and 0 deletions

View File

@ -444,3 +444,5 @@ mod p3287_find_the_maximum_sequence_value_of_array;
mod p2266_count_number_of_texts;
mod p2239_find_closest_number_to_zero;
mod p2218_maximum_value_of_k_coins_from_piles;

View File

@ -0,0 +1,45 @@
/**
* [2218] Maximum Value of K Coins From Piles
*/
pub struct Solution {}
// submission codes start here
impl Solution {
pub fn max_value_of_coins(piles: Vec<Vec<i32>>, k: i32) -> i32 {
let k = k as usize;
let mut dp = vec![-1; k + 1];
dp[0] = 0;
for pile in piles {
for i in (1..=k).rev() {
let mut value = 0;
for t in 1..=pile.len() {
value += pile[t - 1];
if i >= t && dp[i - t] != -1 {
dp[i] = dp[i].max(dp[i - t] + value);
}
}
}
}
dp[k]
}
}
// submission codes end
#[cfg(test)]
mod tests {
use super::*;
#[test]
fn test_2218() {
assert_eq!(
101,
Solution::max_value_of_coins(vec![vec![1, 100, 3], vec![7, 8, 9]], 2)
);
}
}