Leetcode
文章平均质量分 59
釉色清风
切忌好高骛远,要有时间有耐心沉淀自己的知识。
从零开始,从简单到复杂。
你不需要很厉害才开始,但是你需要开始才会很厉害。加油加油!
(欢迎一起交流学习吖:+q:1961460852)
展开
-
【Leetcode】3028.边界上的蚂蚁
题目中要求我们返回 蚂蚁返回到边界的次数。简单来想,就是蚂蚁原来的位置的一维坐标为0,然后经过,若干次移动,统计有几次坐标再次变为0的个数。我们利用前缀和,像定义一个数组,算出前缀和数组,统计前缀和数组中0出现的次数,就是蚂蚁返回到边界的次数,然后我们返回即可。原创 2024-03-06 19:39:32 · 417 阅读 · 2 评论 -
【Leetcode】1588.所有奇数长度子数组的和
接着,我们计算需要返回的ret。我们定义两个循环变量i和j。先定i不动,j向后移动,然后每移动一个位置,就判断一下,是否i和j之间相差奇数个数,若是,则ret+=sum[j]-sum[i-1]。(包括i,所以是减去前一个位置的。如上图输入arr数组,sum[i]用于计算arr数组中前i个数的和。(在程序中,先给sum[0]赋值,等于arr[0],其余sum[i]=sum[i-1]+arr[i])若暴力循环求解,时间复杂度过高。所以,我们可以采用前缀和优化。然后i作为外层循环,后续循环如上面一样判断。原创 2024-03-05 20:39:54 · 398 阅读 · 0 评论 -
【Leetcode】反转单链表
(我们更新指针只是更新cur和pre,而不专门对tmp进行更新,原因是循环遍历时我们让cur指针进行遍历的,即cur作为循环条件,而tmp作为cur的后驱结点,值会更先为NULL,当cur指向NULL时,再以。更新cur和pre,然后cur指向空指针,pre为当前cur的值。给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。再次进入循环体,cur为NULL,不满足循环条件而退出循环。当我们要注意在改变当前结点的next域之前,我们需要。我们从第一个结点开始遍历,改变它的next域。原创 2023-10-28 09:12:01 · 117 阅读 · 0 评论 -
【Leetcode】单链表 ---移除链表元素(创建虚拟头节点)
head指向结点值为1的结点即为 head中存放的是结点值为1的结点的地址。结点值为1的结点指向结点值为2的结点,其本质是,结点值为1的结点中的next域存放的是结点值为2的结点的地址……,即从图中,我们看到,头指针head指向了结点值为1的结点,结点值为1的结点指向了结点值为2的结点,结点值为2的结点指向了结点值为3的结点。结点值为6的结点指向了不指向任何数据的指针……访问到结点值为6的结点,然后指针移动,访问其后的空指针,然后不符合条件,不进入循环,(指针最后只在了最后的位置。原创 2023-10-24 00:14:18 · 535 阅读 · 2 评论