C ++中的'grid.size'和'grid [0] .size'有什么区别

问题描述

我对C ++ 2D数组有疑问。在下面的代码中,C ++中的grid.size()grid[0].size()有什么区别?

public:
int minPathSum(vector<vector<int>>& grid) {
    for(int i = 0; i < grid.size(); i++)
        for(int j = 0; j < grid[0].size(); j++) {
            if(i == 0 && j == 0) continue;
            int tp = 1e9;
            if(i > 0) tp = min(tp,grid[i-1][j]);
            if(j > 0) tp = min(tp,grid[i][j-1]);
            grid[i][j] += tp;
        }
    return grid[grid.size()-1][grid[0].size()-1];
};

解决方法

grid[0]返回此二维vector的第一行,因此grid[0].size()返回该矩阵第一行的大小,grid.size()返回该矩阵中的行数。

,

grid.size()是外部向量的大小。

grid[0].size()是外部向量的第一个内部向量的大小。

,

grid.size()是网格的行数(外部矢量大小)。

grid[i].size()是网格第i行的元素数(内部矢量大小)。