代码随想录|day 3

本文讲述了作者在解决编程挑战中的经历,包括螺旋矩阵II的模拟方法,链表元素移除的双指针技巧,以及设计链表时遇到的结构组织和边界条件问题。作者强调了C语言基础知识的重要性,并提到自己在刷题过程中遇到的专注问题及改进计划。
摘要由CSDN通过智能技术生成

先完成了昨天没做的59. 螺旋矩阵 II 这道题目我拿到手,第一反应是找规律,就是看看每一行之间的数字有没有什么规律啊。后来发现没有什么规律,然后看了题解题解说。 是用模拟的方式去得到答案。 然后,呃,在模拟的过程中要讲究一个。 循环不变量。 我们要控制每一次循环的边界问题。 在这一次的。 代码中。 我回顾了二维数组的一个初始化 vector<vector<int>>results(n,vector<int>(n,0));然后逐渐开始适应while(变量减减)。这种写法在后续的707题206题中都有涉及。 你的题目难就不难在思路,而难在能否正确地去完成模拟。 我这次也不是完全自己写出来的呃,对于 初始的循环控制条件为什么是N除以二这里 做一个记录 因为你每一圈循环的时候,左边和右边都会少掉一个,也就是。 你走一个维度上来看会减掉二,所以说我们算减了多少个二就可以算他走了多少圈。 我们面临的问题就是奇数和偶数的问题,那么在最后进行判断,如果是奇数,我们再补一个 最中间的数就行了。 第二个问题就是我们在循环的时候如何不断地向里绕。 我们用一个变量直在加载我们的循环条件里面。 然后这道题的回顾就到这里。

然后完成第三天的链表,203. 移除链表元素这道题我一看就说,我肯定会自信上手,没看解析,也没看题目。 视频讲解。 我自信异响双指针嘛然后一个个遍历,然后删除。 花了一些时间做出来了,呃,怎么做出来的呢?就是磕磕巴巴的中途总是会有一些测试用例过不去,然后哪些过不去我就不停地改。首先第一个就是假设这个。 要找的值在末尾怎么办?我的边界条件就会出问题。 然后我经过一番修改,能通过大部分的案例,但是还会有一个问题就是如果是两个相邻的。 目标值就会出错后来我发现 需要单独的为某些情况设置判断。 然后这道题我就这样过去了,没有看讲解,但是后来我做这个 707题的时候我发现哦。 我恍然大悟,就是说,其实之前一直在讲的一个东西就是。 在我学的时候应该是就叫头节点吧, 纸上得来终觉浅,绝知此事要躬行, 因为书上写的他都会给他加一个头节点,然后我也不知道为什么他要加这个东西。然后我自己写了不加头节点的版本才发现有多么的复杂。

今天最后707. 设计链表 - 力扣(LeetCode)这道题的话。 其实是考察一个链表的基础,呃,对于就是关键操作我都没问题,因为平常在书上有练过,这样的写法就是关键的。 比如断尾的这种操作都没问题。呃,问题就在于对于就是整体的把控。比如说我们在呃,我们写struct的时候。 以及下面的初始化对呃,公有函数和呃,私有这些东西啊,出现了一些打架的情况,我觉得需要把C的一些基础知识需要补一下,嗯,这是这一点的问题。然后还有在实际操作的时候要注意边界情况。 嗯,这道题还是讲这个虚节点跟上一题啊,我误的情况基本是一样的。然后还有这个while里面写变量剪剪,然后上一题也说过了,嗯,这道题更多教会我的就是一个规范的一个写法,呃,我需要把C的一些基础内容补习一下。

然后今天最后一题反转链表又没有做成,有点不想做了。 先补吧反转链表我发现我有一个提交记录2021。 其实我是有想法的,呃,我第一个想法就是头插法。 这个想法在书上学的时候讲的比较多, 但是我忘了头插法应该怎么具体去操作。然后我看解析应该是双指针跟递归。呃,不知道这这两个算法当中的双指针是不是跟头插法有点类似,如果不类似的话,我会把这个 方法也补充上去。

总结一下, 我发现我刷题的时候很容易走神儿,就是遇到难的我不会的时候就很容易走神儿,我觉得这样不是很好。 明天我打算早点起床, 专门抽一些时间,这个时间我要把手机全部都关机, 要不然这样肯定是跟不上进度的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值