- 博客(6)
- 收藏
- 关注
原创 代码随想录阅读总结:移除链表元素
处理方法为直接将head标签给到当前头的下一个,这样访问时直接跳过原头,当然别忘了删除原头的内存空间,c/c++不会自动删除。第二种,在原链表上加一个虚拟头,虚拟头里面不含值,这样每个含有值的结点都可以以一种方法处理。第一种,在原链表上直接进行删除操作,但头结点需要特殊处理。和直接法部分基本类似,不补充多余的注释了。简单来讲,有两种方法。
2024-01-15 17:59:07 319 2
原创 代码随想录阅读总结:螺旋矩阵II
我分成五段,中心和四个长度为二的数组互相咬在一起,组成一个环,然后把中心填进去,能想象吧。这段代码笔者在写的时候多次卡壳,包括但不限于while循环的内部,外部变量的声明总是少东西等,还有就是该定义在外面的变量定义在循环内了。再难点,n阶,依旧是中心点,和其他部分,起始部分是n-1乘4的数组互相咬合,然后不断循环构成的n阶的矩阵,现在不难分析了吧。什么叫循环不变量原则,我的理解是找到循环的基本单位,这个单位的代码逻辑在循环中是不变且固定的。那么,说着很简单,怎么转化成代码就有难度了,话不多说,上代码。
2024-01-14 19:16:25 356 1
原创 代码随想录阅读总结:长度最小的子数组
而且再加上一个数的长度就一定不是最小的了,所以虽然再加上下一个值满足条件,但一定不是最小的,所以之后的都不要了。等于的时候,说明这个满足等于条件,但不一定最小,所以要把它和存的最小值比较(初试最小值默认非常大),小于最小值则更新,和暴力差不多对吧。让我们换个思路,想一想,这个目标最小长度值的数组是连续的。如果这次外循环的数组之和大于等于val值,则进行一次长度值的比较,这个值小于之前存的最小长度则更新,不小于不更新。小于就加上数组的下一个数,大于就减去数组的前一个数,这样的搜索法是不是很高级,哈哈哈。
2024-01-11 10:12:25 374
原创 代码随想录阅读总结:有序数组的平方
想一想,原数组是有序的呀,而且还有负数。说明最大数一定是在数组两端的。我们可以用两个指针分别指向数组两端,然后比较值的大小,大的赋值然后对应指针更新,小的不动等待下次比较。最直观的相信大家都能想到,平个方,排个序,输出就行。能力有限,如有问题还望指出。
2024-01-09 19:09:37 335
原创 代码随想录阅读总结:移除元素
题目在链接中,这只是一个学习总结不能喧宾夺主。推荐先看代码随想录的题目和题解,然后看看我的总结,我会尽量用通俗的简单词描述我的思路——其实是我会的高级词不多。
2024-01-09 18:39:57 335
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人