自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 算法通关村第三关白银挑战——元素奇偶移动专题

直接法——使用一个临时数组,第一遍查找将所有偶数复制到新数组的前部分,第二遍查找并复制所有奇数到数组的后部分。我的方法——写的好乱,梳理一下。就是先找出数组的最后一个偶数,才这里开始奇偶交换。如果交换的是奇数和奇数,那就指针不动,继续交换,直到奇偶交换,再把指针挪动到下一个。

2023-11-21 11:19:50 79 1

原创 算法通关村第三关白银挑战双指针思想——删除元素专题

所谓双指针是指两个变量,不一定是双指针。在处理数组、字符串等场景下很常见。

2023-11-17 10:33:02 80

原创 算法通关村第三关青铜挑战——爱不起的数组

本质:用需要的值覆盖已有的值必须从前向后连续空间初始化,不可以出现空缺情况。

2023-11-14 11:45:55 90

原创 算法通关村第二关黄金挑战——k个一组链表反转

很巧妙的想法,找到区间的顶点和末尾,把指针一个一个放到末尾去,直到末尾在顶点的后面。缺点:建立了四个指针,这也太多了一点。

2023-11-13 11:38:56 90

原创 算法通关村第二关白银挑战——链表相加问题

我的想法:三次反转难点:链表合并,我要去前面看看链表合并的问题,有点忘记了,为什么单独合并只使用两个指针感觉很困难啊?

2023-11-10 11:43:25 556 1

原创 算法通关村第二关白银挑战——两两交换链表中的节点

1.最后一个数如果为9,要进行拆分,这个特殊情况没有考虑到,拆分后的两个数排列也需要仔细考虑,因为还要反转链表。然后是拆分后会多出来一个,我第一次忘记直接跳出去了,拆分的前面那个数也加了一,悲伤。难点:循环不太好,写出来了却因为range取值不对错误了。注意:必须设置虚拟结点为0,这样才可以把特殊情况也解决。思路:找到最右边的不是9的数字,这是进位终止的地方。因为在链表反转的题目中,以下就想到了链表反转。2.进位符号要记得每次清零啊。代码太繁琐了,需要改进。

2023-11-10 10:09:35 52 1

原创 算法通关村第二关白银挑战——链表反转拓展问题

我的想法:将需要反转的区间单独拿出来,反转的同时拼接回去我的遗漏点:1.拿出去的链表后面没有NULL,藕断丝连,导致链表出现环2.拿出去的链表插到原来的里面进去的时候忘记改变前面的next指针3.没有考虑如果从表头开始反转的情况,后来用了虚拟结点。

2023-11-08 11:47:08 77 1

原创 算法通关村第二关青铜挑战——手写链表反转

【代码】算法通关村第二关青铜挑战——手写链表反转。

2023-11-07 14:30:09 88

原创 算法通关村第一关黄金挑战——双向链表

双向链表既可以向前也可以向后,有两个指针。双向链表的结点双向链表的结构和遍历。

2023-11-04 18:08:14 50 1

原创 算法通关村第一关黄金挑战——链表中的环问题

相遇后让fast指针指向head,发现a为c或者c加上圆环的倍数,也就是说,当fast与slow同步移动时,slow必定会在入口处与fast相遇。想法: 快指针走两步,慢指针走一步,如果无环,快指针会走到表尾,否则快慢指针一定会相遇。遍历时将元素放进集合中,如果有环一定发生重复。难点:想到了快慢指针,有进步!但是没想到他俩一定会相遇。难点:想到了集合,没想到结点能直接放进去。

2023-11-03 17:33:07 54

原创 算法通关村第一关——两个链表第一个公共子节点问题

先把第一个链表所有元素都存到集合里,再遍历第二个链表,检测当前元素是否在集合里。如果是,则找到交点。

2023-10-26 17:38:52 49

原创 算法通关村第一关——删除链表元素专题

难点:第一次写时没有分类讨论,导致忽略了头节点和尾结点情况法一:直接。

2023-10-25 17:48:37 121

原创 算法通关村第一关——链表经典问题(2)

运用经典的快慢指针由于快指针的速度是慢指针的两倍,所以当快指针到达链表尾部时,慢指针刚好走过一半的距离,即处于链表的中间位置。假设链表的长度为 n,快指针每次移动两步,慢指针每次移动一步,那么在快指针到达链表尾部之前,快指针需要移动的步数是慢指针的两倍。考虑两种情况:这个方法适用于链表长度为奇数和偶数的情况。如果链表长度为奇数,那么慢指针将正好指向中间节点。如果链表长度为偶数,那么慢指针将指向中间两个节点的后一个节点【快指针刚好指向空,慢指针指向最后一个节点】。

2023-10-22 17:08:16 73 1

原创 算法通关村第一关——链表经典问题(1、2、3)(1)

算法问题如果一时想不到,,可以将常用的数据结构和常用算法思想都想一遍,看看哪些能解决问题。常用的数据结构有数组、链表、队、栈、Hash、集合、树、堆。常用的算法思想有查找、排序、双指针、递归、迭代、分治、贪心、回溯和动态规划。

2023-10-20 18:16:48 101

原创 算法通关村第一关——链表青铜挑战笔记

数据元素随机存储在内存中,通过指针维系数据间“一对一”逻辑关系的存储结构为链表。

2023-10-19 22:19:23 98

空空如也

空空如也

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

TA关注的人

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