MST

星途 面试题库

面试题:Rust 集合迭代器模式之复杂操作

假设有两个 `Vec<String>` 类型的集合,一个代表学生姓名 `names`,另一个代表学生对应的成绩 `scores`,成绩范围是 0 - 100。使用迭代器模式找到成绩大于 80 分的学生姓名,并将这些姓名以新的 `Vec<String>` 返回。同时,要求在处理过程中使用迭代器适配器链来完成尽可能多的操作,提高代码的可读性和性能。请写出 Rust 代码实现。
24.1万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn find_high_scorers(names: Vec<String>, scores: Vec<i32>) -> Vec<String> {
    names.into_iter()
        .zip(scores.into_iter())
        .filter(|(_, score)| *score > 80)
        .map(|(name, _)| name)
        .collect()
}