0101 lc.2022数组

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 ,不需要左值,直接可以传入,但是位置固定,无法更改。

上一篇:Linux中发布.netcore时启用ssl


下一篇:C++实现高精度计算器 (大数的加减乘除)