python-leetcode-2022. 将一维数组转变成二维数组

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

这个问题可以通过以下步骤来解决:

  1. 我们首先需要确保 original 数组的长度是 m * n,即二维数组的总元素数量。如果不等,则无法构成二维数组,返回空数组。

  2. 如果 original 数组的长度恰好是 m * n,则可以按照要求将它转化为二维数组。

  3. 遍历 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)]

代码说明:

  1. 检查长度:首先,检查 original 数组的长度是否为 m * n。如果不符合,返回一个空数组 []

  2. 构建二维数组:如果长度匹配,就通过列表推导式将 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

则输出将是:

[]

这样,代码就能根据要求构建二维数组或者返回空数组。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值