- 博客(3)
- 收藏
- 关注
原创 算法训练day3
链表的定义具有递归的性质,因此链表题目常可以用递归的方法求解。这道题要求删除链表中所有节点值等于特定值的节点,可以用递归实现。也可以用迭代的方法删除链表中所有节点值等于特定值的节点。对链表进行反转,迭代进行反转。
2024-04-06 21:14:51
1543
原创 算法训练营第二天
还有一种就是两个指针分别指向位置 000 和 n−1n-1n−1,每次比较两个指针对应的数,选择较大的那个。后面通过学习视频和其他人的解法了解到滑动窗口,反复看了好久才完全理解。这道题难点在于正负数同时存在要如何解决正负两边平方后的大小问题。这种方法无需处理某一指针移动至边界的情况。根据正负分界处设置指针比较大小,需要注意边界问题。涉及到两侧问题就想到昨天学习的双指针。螺旋矩阵主要在于一圈一圈的往里缩进。每过一圈四条边都需要向内缩进一圈。首先想到的是暴力直接平方后排序。最容易想到的当然是暴力算法了。
2024-04-04 22:45:39
327
原创 算法训练day1 || 二分查找 || 移除元素
快慢指针 : 例如nums = [0, 1, 2, 2, 3, 0, 4, 2], val = 2,定义slow, fast两个指针,首先都指向index=0的位置,然后让fast指针不断往后遍历,如果遇到nums[fast]!= val,则让nums[slow] = nums[fast],同时slow++。更简单来描述,就是slow和fast开启循环,fast指针前去“探路”,遇到不等于val的值,就赋值给slow位置,然后slow往前走一步。元素的顺序可以改变。的元素,并返回移除后数组的新长度。
2024-04-03 20:41:18
691
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人