題目網址:https://leetcode.cn/problems/convert-1d-array-into-2d-array/

題意:將 1d array original 轉成 mn 行的 2d array。

Solution:

想法:每次塞 1 x n 的 vector

class Solution {
public:
vector<vector<int>> construct2DArray(vector<int>& original, int m, int n) {
if (m * n != original.size()) {
return {};
}

vector<vector<int>> res;
for (int i = 0; i < m * n; i += n) {
res.emplace_back(vector<int>(original.begin() + i, original.begin() + i + n));
}

return res;
}
};
  • time:$O(m \cdot n)$ ➔ 遍歷 original
  • space:$O(1)$ ➔ 扣除返回的 array, 只需常數空間