面试题答案
一键面试实现思路
- 使用
into_iter
将二维数组转化为迭代器,通过flatten
方法将其扁平化为一维迭代器。 - 使用
filter
方法过滤出大于10的数字。 - 使用
map
方法对过滤后的数字求立方。 - 使用
sum
方法计算立方和。
代码
fn main() {
let nested_vec: Vec<Vec<i32>> = vec![
vec![1, 11, 5],
vec![15, 3, 20],
vec![7, 8, 12]
];
let result: i32 = nested_vec.into_iter()
.flatten()
.filter(|&num| num > 10)
.map(|num| num * num * num)
.sum();
println!("结果是: {}", result);
}