2022 新年快乐!!!
lc.2022 一维数组转二维数组
给你一个下标从 0 开始的一维整数数组 original 和两个整数 m 和 n 。你需要使用 original 中 所有 元素创建一个 m 行 n 列的二维数组。
original 中下标从 0 到 n - 1 (都 包含 )的元素构成二维数组的第一行,下标从 n 到 2 * n - 1 (都 包含 )的元素构成二维数组的第二行,依此类推。
请你根据上述过程返回一个 m x n 的二维数组。如果无法构成这样的二维数组,请你返回一个空的二维数组。
class Solution {
public:
vector<vector<int>> construct2DArray(vector<int>& original, int m, int n) {
vector<vector<int>> a;
if(original.size() != m*n){
return a;
}
for(auto it = original.begin();it != original.end();it += n){
a.emplace_back(it,it+n);
}
return a;
}
};
for的条件可以用vector值顺推。
emplace_back 不同于push_back ,不需要左值,直接可以传入,但是位置固定,无法更改。