自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 哈希表:你是我的独家记忆

python的list;dict三种其实都是某种哈希表。感觉不是很难,做一做希望日后有新的收获!

2024-05-07 16:45:59 199

原创 数据结构:链表

本题目我存档4个节点:称之为 ABCD,只要存档了,操作的顺序并不重要。重要的是你需要想到为了两两互换,单次的操作需要存档4个节点(而不是3或者2):因为两两互换后还需要链接互换前的前后节点,所以2+2 =4。你不知道接下来的关卡内容是什么,你也不能通过任何index直接获取某个节点的内容。其中a,b是执行逆转任务:b.next = a;逆转链表,一方面需要把方向改变,另一方面需要保存尚未逆转的链表部分的‘头结点’;如此就需要3个节点:假设...->a -> b-> c->...

2024-05-02 17:47:59 206 2

原创 虚拟头结点:情不知所起,一往而深

和数列不同,链表是通过class自己定义node节点,通过 node的变量 node.next 指向下一个node,而下一个node也是如此..一直延续下去。头一次接触这样的数据结构,感觉比较抽象,但是做过一次题目,晚上第二次做就感觉好多了。最近各方面还OK,就是生活没那么精彩,坚持一下,会有花开的。见下文def_init__(self)代码随想录 day3。

2024-04-24 22:16:38 90

原创 数组小结:连续的空间,简单的思路,稳定的边界

2.判定任务的使用方法,并形成大的循环框架,清楚时间复杂度:正如卡哥所言,数组的思路并不难,我们可以因此先对问题有方法上的选择,然后根据大体要执行的内容,心里形成循环的框架,思考时间复杂度。二分法查找的复杂度是 O(log n) sort的复杂度是 O(n log n);1.理解任务本质,并结合数组的特性进行操作:比如原地删除,就需要我们理解数组是不可以简单删除的,因为数组的存储空间是连续的,不能中断。花了将近一周的时间总算把代码随想录的前两天任务做完了,还是有收获的🥹。

2024-04-23 14:17:46 196

原创 双指针:往事如走马灯回放我留不住,只能慢慢抹除ta的痕迹

何为“原地删除”,“删除”就是需要我们把数列里不需要的部分去除,“原地“需要我们不能定义新的存储空间,把数列的值搬进去。双指针就是两个指针咯,指的是什么呢?是数列的index,为什么需要两个呢?希望在一个循环里做两个不同的,但有关联的事情。那我们通过查找,把不需要的元素”扣“掉?不可以,因为数列的储存空间是连续的,不可以从中中断;怎么拿后面的元素覆盖呢?fast指针判断一个元素是需要删除,作为for循环的index。他指向需要存储的内容。他指向需要存储的位置。慢指针覆盖内心的伤疤,却记住了曾经的美好🥺。

2024-04-20 22:03:51 220

原创 二分法:哪怕一开始注定没有ta,你也要学会体面离场

首先选择一个好理解的定义:left和right是都我查找范围的边界,二者作为index对应的数,都有可能是target。而在于“离场”:当target一开始就不在数列里,我们如何有原则的判定区间,做一个有边界感的人❌,在没有目标时,中断痴心妄想的的while循环🥺。如果nums[middle] 在target的右侧,那么target最大也是nums[middle] - 1。如果nums[middle] 在target的左侧,那么target最小也是nums[middle] +1。代码随想录打卡:第一天。

2024-04-18 22:17:09 258 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除