我只是不明白vector<vector<int>>&
索引的意思是....以及下一行vector<vector<int>> matrix(n, vector<int>(m, 0));
。
class Solution {
public:
int oddCells(int n, int m, vector<vector<int>>& indices)
{
vector<vector<int>> matrix(n, vector<int>(m, 0));
for(int i=0;i<indices.size();i++) {
for(int j=0;j<m;j++) matrix[indices[i][0]][j]++;
for(int j=0;j<n;j++) matrix[j][indices[i][1]]++;
}
int res=0;
for(int i=0;i<n;i++) {
for(int j=0;j<m;j++) res+=matrix[i][j]%2!=0;
}
return res;
}
};
答案 0 :(得分:3)
vector<X>
的意思是“ X的向量”,无论X是什么。
在您的情况下,您有一个vector<vector<int>>
,因此您的X
是vector<int>
。我们可以将其读为“(int的向量)的向量”。
此外,末尾的&
表示它是对此类型的引用。
有时会用来表示二维数组,但是由于各种原因,这是一个非常糟糕的实现。在这种情况下,显然可以用来存储二维矩阵。
下一行声明的值与参数中使用的类型相同,并使用大小为n
的{{1}}个向量初始化,每个向量包含m
个零。