C++中'grid.size()'和'grid[0].size()'有什么区别
what is the difference between 'grid.size()' and 'grid[0].size()' in C++
我对 C++ 二维数组有疑问。下面代码中 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]
returns 第一行 two-dimensional vector
所以 grid[0].size()
returns 该矩阵第一行的大小和 grid.size()
return 矩阵中的行数。
grid.size()
是外向量的大小
grid[0].size()
是外向量第1个内向量的大小
grid.size()
是网格的行数(外向量大小)。
grid[i].size()
是网格第 i 行的元素数(内部向量大小)。
我对 C++ 二维数组有疑问。下面代码中 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]
returns 第一行 two-dimensional vector
所以 grid[0].size()
returns 该矩阵第一行的大小和 grid.size()
return 矩阵中的行数。
grid.size()
是外向量的大小
grid[0].size()
是外向量第1个内向量的大小
grid.size()
是网格的行数(外向量大小)。
grid[i].size()
是网格第 i 行的元素数(内部向量大小)。