题目描述补充
题目:摊平二维向量
给定一个二维向量(或称为二维数组、二维列表),其中每个元素可能是一个整数或者是一个新的二维向量。你的任务是编写一个函数,该函数能够遍历这个二维向量,将所有嵌套的二维向量“摊平”成一个一维向量(或称为一维数组、一维列表),其中只包含整数。
示例输入:
[[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);
码小课网站中有更多相关内容分享给大家学习,包括但不限于算法题解、数据结构、编程技巧等,欢迎访问码小课网站深入学习。