自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [算法学习09]二叉树基础

1. 如何思考二叉树相关问题?- 不要一开始就陷入细节,而是思考整棵树与其左右子树的关系。2. 为什么需要使用递归?- 子问题和原问题是相似的,他们执行的代码也是相同的(类比循环),但是子问题需要把计算结果返回给上一级,这更适合用递归实现。3. 为什么这样写就一定能算出正确答案?- 由于子问题的规模比原问题小,不断“递”下去,总会有个尽头,即递归的边界条件 ( base case ),直接返回它的答案“归”;- 类似于数学归纳法(多米诺骨牌),n=1时类似边界条件;

2024-03-23 21:11:51 758

原创 [算法学习08] 一些链表题

解题思路脑筋急转弯.直接用后一个节点的值覆盖当前的节点,然后删除后一个节点即可。如果我们要删除某个节点,那么必须有它的前驱节点。这题没有,所以可以通过值得转移来完成。以下是代码。

2024-03-20 12:07:33 292 1

原创 [算法学习07]环形链表

快慢指针的使用是本节的核心。我们有一个链表[1,2,3,4,5],如何找到中间的那个节点呢?我们可以设计一个快指针以及一个慢指针,初始的时候都赋值为链表的起点,快指针每次走两步,慢指针每次走一步。那么当快指针走到链表的末尾时,慢指针就正好停在了中间的位置。以下是今天的例题。

2024-03-18 22:11:39 682 1

原创 [算法学习06] 反转链表

简单题,需要三个指针, pre,cur,nxt.pre 是前一个指针, cur是当前指针, nxt是临时指针用于存在当前节点的下一个节点。反转链表 就是 cur.next = pre pre = cur cur = nxt 直到cur is None循环结束值得注意的是, 当cur == None pre正好是反转后链表的表头递归写法,要有出口!我们出口是什么?当找到最后一个节点的时候也就是我们反转后链表的头就是出口!所以 if head.next is None: return head。

2024-03-17 20:08:49 762 1

原创 [算法学习05] 非有序数列的情况下使用二分查找

算是对二分的一个小进阶,在数组不是有序排列的情况使用二分法得到答案。

2024-03-08 14:45:01 854 1

原创 [算法学习04] 二分查找系列

给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。示例 1:nums = [[3,4]示例 2:nums = [[-1,-1]示例 3:[-1,-1]nums是一个非递减数组解题思路:在了解了上面的内容以后,这道题就显得非常容易了。

2024-03-02 15:50:27 788 1

原创 [算法学习03] 同向双指针的使用

本节是同向双指针的学习。同向双指针的使用前提,单调性(数组中所有元素的性质一样(正数、字母....))。先贴上灵神的链接。涉及题目主要有。

2024-02-29 21:13:58 779

原创 [算法学习02]相向双指针之盛最多水的容器

这节是对相向双指针的进一步应用。

2023-12-06 15:48:33 871

原创 [算法学习01]相向双指针的使用

暂时没什么想说的,继续努力吧。

2023-12-04 17:21:37 934

空空如也

空空如也

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

TA关注的人

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