class Solution {
public:
int countNegatives(vector<vector<int>>& grid) {
int num=0;
for (auto x:grid){
for (auto y:x){
if (y<0) num++;
}
}
return num;
}
};
class Solution {
public:
bool isToeplitzMatrix(vector<vector<int>>& matrix) {
for (int i = 1; i < matrix.size(); i ++ )
for (int j = 1; j < matrix[i].size(); j ++ )
if (matrix[i][j] != matrix[i - 1][j - 1])
return false;
return true;
}
};
class Solution {
public:
vector<int> luckyNumbers(vector<vector<int>>& matrix) {
int r = matrix.size(), c = matrix[0].size();
vector<int> rMin(r, INT_MAX);
vector<int> cMax(c, 0);
for (int i = 0; i < r; ++i) {
for (int j = 0; j < c; ++j) {
rMin[i] = min(rMin[i], matrix[i][j]);
cMax[j] = max(cMax[j], matrix[i][j]);
}
}
vector<int> ans;
for (int i = 0; i < r; ++i) {
for (int j = 0; j < c; ++j) {
if (matrix[i][j] == rMin[i] && matrix[i][j] == cMax[j]) {
ans.push_back(matrix[i][j]);
}
}
}
return ans;
}
};
class Solution {
public:
int islandPerimeter(vector<vector<int>>& grid) {
int dx[4] = {-1, 0, 1, 0}, dy[4] = {0, 1, 0, -1};
int res = 0;
for (int i = 0; i < grid.size(); i ++ )
for (int j = 0; j < grid[i].size(); j ++ )
if (grid[i][j] == 1) {
for (int k = 0; k < 4; k ++ ) {
int x = i + dx[k], y = j + dy[k];
if (x < 0 || x >= grid.size() || y < 0 || y >= grid[0].size())
res ++ ;
else if (grid[x][y] == 0) res ++ ;
}
}
return res;
}
};