2024.9.3 刷题总结

2024.9.3

**每日一题**

2708.一个小组的最大实力值,这道题考察的是序列和数组相关的数学问题,从左往右遍历数组,考虑每个元素是否选择,如果不选,那么当前的最大实力值就是前面所有元素的乘积,如果选了,要么元素单独一个数,或者于前面所选的所有数相乘。所以本题的关键是维护一个最小乘积和最大乘积。

73.矩阵置零,这道题是一道矩阵有关标记和哈希的题目,题目的意思是当遇到一个元素为0时,我们需要把整行整列都变为0,如果在遍历的时候每个单独操作会造成非常复杂的计算量,所以我们的方法是先进行标记,先遍历一次矩阵,用两个数组分别代表行和列,将出现0的位置先进行标记,然后进行第二次遍历矩阵,每次判断相应的行和列数组是否标记过,如果标记了,那么就把它变成0.

54.螺旋矩阵,这道题是矩阵相关,我们可以按行列来模拟输出,每次遇到边界值或者访问过的就换方向,也可以按层来输出,从最外层到最内层来输出。也可以写四个方向的循环遍历输出,每输出一次就更新对应的参数。

48.旋转图像,这道题是对纯数学知识的考察,我们只需要推导出顺时针旋转90度之后的坐标变换公式即可,中间我们需要一个临时变量来存储有关的坐标。

234.回文链表,这道题考察的是链表的相关知识包括递归,我们需要写一个递归函数,令节点先找到指向尾节点,再往前判断,每次需要判断两个条件,第一个是当前链表往外的区域是否是回文的,第二个是当前节点的值和前面的节点的值是否相等,如果符合条件,那么将前面的节点往后一位然后再继续递归,直到递归完毕。

142.环形链表 Ⅱ,这道题考察的是链表和快慢指针的知识,这道题是Ⅰ的升级版,因为要输出入环的第一个节点。快慢指针即慢指针一次走一步,快指针一次走两步,当它们相遇的时候,证明有环,但是有个细节,即快指针每次走的时候,需要先判断下一步是否为空。根据快指针走的路程是慢指针的两倍以及一系列的数学推导可知,我们只需要新建一个头节点的副本,每次这个节点往前走一步,同时慢指针也往前走一步,当它们两个节点相遇的时候,该节点即为入环点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值