MST

星途 面试题库

面试题:C++中利用transform实现简单数据过滤

假设有一个`std::vector<int>`,其中包含了一些整数。请使用C++ STL的`transform`算法,实现一个功能,过滤掉所有小于10的数,并将剩下的数乘以2,最后输出结果。要求写出完整的代码。
44.1万 热度难度
编程语言C++

知识考点

AI 面试

面试题答案

一键面试
#include <iostream>
#include <vector>
#include <algorithm>

int main() {
    std::vector<int> numbers = {5, 15, 8, 20, 3};

    numbers.erase(std::remove_if(numbers.begin(), numbers.end(), [](int num) {
        return num < 10;
    }), numbers.end());

    std::transform(numbers.begin(), numbers.end(), numbers.begin(), [](int num) {
        return num * 2;
    });

    for (int num : numbers) {
        std::cout << num << " ";
    }
    std::cout << std::endl;

    return 0;
}