2022. 将一维数组转变成二维数组 - 力扣(LeetCode)



这个问题可以通过以下步骤来解决:
-
我们首先需要确保
original数组的长度是m * n,即二维数组的总元素数量。如果不等,则无法构成二维数组,返回空数组。 -
如果
original数组的长度恰好是m * n,则可以按照要求将它转化为二维数组。 -
遍历
original数组,并按照顺序将其元素按行分配到二维数组中。
以下是实现这个过程的 Python 代码:
def construct2DArray(original, m, n):
# 检查 original 数组的长度是否符合要求
if len(original) != m * n:
return []
# 使用列表推导式将 original 数组分割成 m 行 n 列的二维数组
return [original[i * n:(i + 1) * n] for i in range(m)]
代码说明:
-
检查长度:首先,检查
original数组的长度是否为m * n。如果不符合,返回一个空数组[]。 -
构建二维数组:如果长度匹配,就通过列表推导式将
original中的元素按照每行n个元素分割成m行。
示例:
假设我们有以下输入:
original = [1, 2, 3, 4, 5, 6]
m = 2
n = 3
调用 construct2DArray(original, m, n) 后,输出将是:
[[1, 2, 3], [4, 5, 6]]
如果 original 数组的长度不能满足 m * n,例如:
original = [1, 2, 3, 4, 5]
m = 2
n = 3
则输出将是:
[]
这样,代码就能根据要求构建二维数组或者返回空数组。
394

被折叠的 条评论
为什么被折叠?



