当前位置: 面试刷题>> 摊平二维向量 (经典算法题500道)


题目描述补充

题目:摊平二维向量

给定一个二维向量(或称为二维数组、二维列表),其中每个元素可能是一个整数或者是一个新的二维向量。你的任务是编写一个函数,该函数能够遍历这个二维向量,将所有嵌套的二维向量“摊平”成一个一维向量(或称为一维数组、一维列表),其中只包含整数。

示例输入

[[1, 2, [3]], [4, [5, 6]]]

示例输出

[1, 2, 3, 4, 5, 6]

PHP 示例代码

function flattenVector($vector) {
    $result = [];
    foreach ($vector as $item) {
        if (is_array($item)) {
            $result = array_merge($result, flattenVector($item));
        } else {
            $result[] = $item;
        }
    }
    return $result;
}

// 测试
$input = [[1, 2, [3]], [4, [5, 6]]];
$output = flattenVector($input);
print_r($output);

Python 示例代码

def flatten_vector(vector):
    result = []
    for item in vector:
        if isinstance(item, list):
            result.extend(flatten_vector(item))
        else:
            result.append(item)
    return result

# 测试
input_vector = [[1, 2, [3]], [4, [5, 6]]]
output_vector = flatten_vector(input_vector)
print(output_vector)

JavaScript 示例代码

function flattenVector(vector) {
    let result = [];
    vector.forEach(item => {
        if (Array.isArray(item)) {
            result = result.concat(flattenVector(item));
        } else {
            result.push(item);
        }
    });
    return result;
}

// 测试
const inputVector = [[1, 2, [3]], [4, [5, 6]]];
const outputVector = flattenVector(inputVector);
console.log(outputVector);

码小课网站中有更多相关内容分享给大家学习,包括但不限于算法题解、数据结构、编程技巧等,欢迎访问码小课网站深入学习。

推荐面试题