[LeetCode] Convert 1D Array Into 2D Array

2022. Convert 1D Array Into 2D 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.

1
2
3
4
5
6
7
8
9
10
11
class Solution {
public:
vector<vector<int>> construct2DArray(vector<int>& original, int m, int n) {
if(m * n != original.size()) return {};
vector<vector<int>> res(m, vector<int>(n));
for(int i = 0; i < original.size(); i++) {
res[i/n][i%n] = original[i];
}
return res;
}
};
Author: Song Hayoung
Link: https://songhayoung.github.io/2024/09/01/PS/LeetCode/convert-1d-array-into-2d-array/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.