LeetCode | 2022.将一维数组转变为二维数组

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

这道题思路比较简单,比较容易想到的是先判断m和n构成的二维数组在形式上是否可以由原来的数组转变而成,若不可以返回空数组,若可以直接用一个二重循环遍历一遍即可,时间复杂度 O ( n 2 ) O(n^2) O(n2)

class Solution(object):
    def construct2DArray(self, original, m, n):
        """
        :type original: List[int]
        :type m: int
        :type n: int
        :rtype: List[List[int]]
        """
        ans = [[0] * n for _ in range(m)]

        if m * n != len(original):
            return []
        elif m == 1:
            return [original]
        else:
            count = 0
            for i in range(m):
                for j in range(n):
                    ans[i][j] = original[count]
                    count += 1
        return ans

在这里插入图片描述
题解的写法更为简洁,设original的长度为k,根据题意,如果k≠m*n则无法构成二维数组,此时返回空数组。否则我们可以遍历original,每n个元素创建一个一维数组,放入二维数组中

class Solution:
    def construct2DArray(self, original: List[int], m: int, n: int) -> List[List[int]]:
        return [original[i: i + n] for i in range(0, len(original), n)] if len(original) == m * n else []

相关推荐

  1. C++vector转换vector

    2024-06-10 20:08:03       26 阅读
  2. C# 数组以及数组使用

    2024-06-10 20:08:03       16 阅读
  3. cv2.cvtColor()转化彩色图像

    2024-06-10 20:08:03       16 阅读
  4. 数组调整

    2024-06-10 20:08:03       33 阅读
  5. 数组案例

    2024-06-10 20:08:03       7 阅读
  6. C# —— 数组

    2024-06-10 20:08:03       3 阅读

最近更新

  1. 人工智能中的哲学

    2024-06-10 20:08:03       0 阅读
  2. 安装xFormers时遇到的问题,以及正确的安装方式

    2024-06-10 20:08:03       0 阅读

热门阅读

  1. 回溯算法复原ip,子集1和子集2

    2024-06-10 20:08:03       3 阅读
  2. 43.django里写自定义的sql进行查询

    2024-06-10 20:08:03       3 阅读
  3. 独孤思维:副业圈很多骗子

    2024-06-10 20:08:03       3 阅读
  4. Hive 面试题(九)

    2024-06-10 20:08:03       3 阅读
  5. 力扣395.至少有K个重复字符的最长子串

    2024-06-10 20:08:03       4 阅读
  6. next.js 的几种渲染方式

    2024-06-10 20:08:03       3 阅读