2022. Convert 1D Array Into 2D Array LeetCode Solution
In this guide, you will get 2022. Convert 1D Array Into 2D Array LeetCode Solution with the best time and space complexity. The solution to Convert D Array Into D Array problem is provided in various programming languages like C++, Java, and Python. This will be helpful for you if you are preparing for placements, hackathons, interviews, or practice purposes. The solutions provided here are very easy to follow and include detailed explanations.
Table of Contents
- Problem Statement
- Complexity Analysis
- Convert D Array Into D Array solution in C++
- Convert D Array Into D Array solution in Java
- Convert D Array Into D Array solution in Python
- Additional Resources
Problem Statement of Convert D Array Into D Array
You are given a 0-indexed 1-dimensional (1D) integer array original, and two integers, m and n. You are tasked with creating a 2-dimensional (2D) array with m rows and n columns using all the elements from original.
The elements from indices 0 to n – 1 (inclusive) of original should form the first row of the constructed 2D array, the elements from indices n to 2 * n – 1 (inclusive) should form the second row of the constructed 2D array, and so on.
Return an m x n 2D array constructed according to the above procedure, or an empty 2D array if it is impossible.
Example 1:
Input: original = [1,2,3,4], m = 2, n = 2
Output: [[1,2],[3,4]]
Explanation: The constructed 2D array should contain 2 rows and 2 columns.
The first group of n=2 elements in original, [1,2], becomes the first row in the constructed 2D array.
The second group of n=2 elements in original, [3,4], becomes the second row in the constructed 2D array.
Example 2:
Input: original = [1,2,3], m = 1, n = 3
Output: [[1,2,3]]
Explanation: The constructed 2D array should contain 1 row and 3 columns.
Put all three elements in original into the first row of the constructed 2D array.
Example 3:
Input: original = [1,2], m = 1, n = 1
Output: []
Explanation: There are 2 elements in original.
It is impossible to fit 2 elements in a 1×1 2D array, so return an empty 2D array.
Constraints:
1 <= original.length <= 5 * 104
1 <= original[i] <= 105
1 <= m, n <= 4 * 104
Complexity Analysis
- Time Complexity: O(mn)
- Space Complexity: O(mn)
2022. Convert 1D Array Into 2D Array LeetCode Solution in C++
class Solution {
public:
vector<vector<int>> construct2DArray(vector<int>& original, int m, int n) {
if (original.size() != m * n)
return {};
vector<vector<int>> ans(m, vector<int>(n));
for (int i = 0; i < original.size(); ++i)
ans[i / n][i % n] = original[i];
return ans;
}
};
/* code provided by PROGIEZ */
2022. Convert 1D Array Into 2D Array LeetCode Solution in Java
class Solution {
public int[][] construct2DArray(int[] original, int m, int n) {
if (original.length != m * n)
return new int[][] {};
int[][] ans = new int[m][n];
for (int i = 0; i < original.length; ++i)
ans[i / n][i % n] = original[i];
return ans;
}
}
// code provided by PROGIEZ
2022. Convert 1D Array Into 2D Array LeetCode Solution in Python
class Solution:
def construct2DArray(self, original: list[int],
m: int, n: int) -> list[list[int]]:
if len(original) != m * n:
return []
ans = [[0] * n for _ in range(m)]
for i, num in enumerate(original):
ans[i // n][i % n] = num
return ans
# code by PROGIEZ
Additional Resources
- Explore all LeetCode problem solutions at Progiez here
- Explore all problems on LeetCode website here
Happy Coding! Keep following PROGIEZ for more updates and solutions.