题目一:
链接:统计举证负数
解题思路:
暴力
C++:
class Solution {
public:
int countNegatives(vector<vector<int>>& grid) {
int s=0;
for(int i=0;i<grid.size();i++){
for(int j=0;j<grid[i].size();j++){
if(grid[i][j]<0){
s++;
}
}
}
return s;
}
};
题目二:
链接:矩阵对角线
解题思路:
C++:
class Solution {
public:
int diagonalSum(vector<vector<int>>& mat) {
int n=(mat.size()%2!=0)?mat.size()/2:0;
int s=0;
for(int i=0;i<mat.size();i++){
for(int j=0;j<mat[i].size();j++){
if(i==j) s+=mat[i][j];
else if(mat.size()-i-1==j) s+=mat[i][j];
}
}
return s;
}
};
题目三:
链接:最富有的资产
解题思路:
C++:
class Solution {
public:
int maximumWealth(vector<vector<int>>& accounts) {
int ma=0;
for(int i=0;i<accounts.size();i++){
int s=0;
for(int j=0;j<accounts[i].size();j++){
s+=accounts[i][j];
}
if(ma<s) ma=s;
}
return ma;
}
};
题目四:
链接:托普历次矩阵
解题思路:
C++:
class Solution {
public:
bool isToeplitzMatrix(vector<vector<int>>& matrix) {
if(matrix.size()==1||matrix[0].size()==1) return true;
//行
for(int i=matrix.size()-2;i>0;i--){
int k=i+1;
for(int j=1;j<matrix.size()-i;j++){
if(matrix[i][0]!=matrix[k++][j])
return false;
}
}
//主
for(int i=1;i<matrix.size();i++){
if(matrix[i][i]!=matrix[0][0])
return false;
}
//列
for(int j=1;j<matrix[0].size();j++){
int k=j+1;
for(int i=1;k<matrix.size();i++){
if(matrix[i][k++]!=matrix[0][j])
return false;
}
}
return true;
}
};
题目五:
链接:矩阵中幸运数
解题思路:
C++:
class Solution {
public:
vector<int> luckyNumbers (vector<vector<int>>& matrix) {
vector<int>l;
for(int i=0;i<matrix.size();i++){
int ma=matrix[i][0],k=0;
for(int j=1;j<matrix[0].size();j++){
if(ma>matrix[i][j])
j=k;
ma=matrix[i][j];
}
int flag=1;
for(int j=0;j<matrix.size();j++){
if(matrix[j][k]>ma)
{
flag=0;
break;
}
}
if(flag){
l.push_back(ma);
}
}
return l;
}
};