临近期末,很紧张也很忙碌,感谢英雄哥推出的打卡活动,让我们萌新也来尝试leetcode吧!
1.leetcode.1351--统计有序矩阵中的负数
class Solution{
public int jie(int [][] grid)
{
int num=0;//用num来计数,统计负数的个数
for(int i=0;i<grid.length;i++)
{
for(int j=0;j<grid[i].length;j++)
{
if(grid[i][j]<0)//判断大小,负数则num+1;
num++;
}
}
return num;//返回计数结果
}
2.leetcode.1572--矩阵对角线元素的和
class Solution{
public int jie(int [][] mat)
{
int num=0;/用num来计算总和
for(i=0;i<mat.length;i++)
{
num=num+mat[i][i];//先把主对角线位置的元素加起来
}
for(i=0;i<mat.length;i++)
{
if(mat.length-i-1!=i)//这一步是找到如果有与上面的元素重复的时候,
不执行if里面的语句
num=num+mat[i][mat.length-i-1];//通过(最好在草稿纸上推一哈)规律
我们得出特殊位置满足第二对角线的元素
}
return num;
}
}
3.leetcode.672--最富有客户的总资产量
这道题其实是让我们求每一行的元素之和
class Solution{
public int jie(int [][] mat)
{
int i=0,j=0,num=0,max=0;//定义i,j用来遍历数组,
max用来储存最大值,num储存每一行的和
for(i=0;i<mat.length;i++)
{
num=0;//如果不在每一次比较最大总和后清0,num的值会一直累加一下去哦!
for(j=0;j<mat[i].length;j++)
{
num=num+mat[i][j];
}
if(max<num)
max=num;
}
return max;
}
}
4.leetcode-- 托普利茨矩阵
class Solution{
public boolean jie(int [][] mat)
{
int i=0,j=0;
for(i=0;i<mat.length-1;i++)
{
for(j=0;j<mat[i].length-1;j++)//注意这里遍历时,对i,j的要求,都做了-1的操作,比如我们遍历到最后一行的时候,mat[i+1][j+1]就会越界!
{
if(mat[i][j]!=mat[i+1][j+1]);
return false;
}
}
return true;
}
}
5.leetcode.1380--矩阵中的幸运数
这道题由于所学基础不太扎实,搞了很久,也看了题解,我觉得在求每一列中最大的元素的时候需要越过陷阱。这道题可以和之前写的题目放在一起对比,做错题处理.虽然花了很长时间,但是我觉得还是挺有收获的,加油,萌新们!
总结:以上英雄哥推出的打卡题都有很多相似之处,难度层层推进,非常适合只有语言基础的萌新去练习和总结,先水简单题,养成习惯,不会的可以去翻看优秀的题解,弥补不足,做好笔记以便下次翻看。
今天是九日集训——雪国列车leetcode零基础打卡指南第九天,临近期末,坚持!
天道酬勤,勤能补拙,加油,萌新们!