1impl Solution {2pub fn min_patches(nums: Vec<i32>, n: i32) -> i32 {3let nums = nums.into_iter().map(|x| x as i64).collect::<Vec<_>>();45let mut index = 0;6let mut count = 0;7let mut value_need = 1_i64;8while value_need <= n as i64 {9if index < nums.len() && value_need >= nums[index] {10value_need += nums[index];11index += 1;12} else {13value_need += value_need;14count += 1;15}16}17count18}19}