MST

星途 面试题库

面试题:Rust元组解构在复杂数据结构中的深度应用

假设有一个复杂的数据结构,它是一个包含多个元组的向量,每个元组又包含了不同类型的数据,其中部分元组的第二个元素又是一个元组(例如`Vec<(i32, (String, f64))>`)。请编写一个Rust函数,使用元组解构和迭代器方法,找出所有内部元组中字符串长度大于5且浮点数大于0.5的情况,并返回这些情况对应的外部元组中的第一个整数的总和。
13.6万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn find_sum(vec: &Vec<(i32, (String, f64))>) -> i32 {
    vec.iter()
       .filter_map(|&(num, (ref s, num2))| {
            if s.len() > 5 && num2 > 0.5 {
                Some(num)
            } else {
                None
            }
        })
       .sum()
}