- 博客(50)
- 收藏
- 关注
原创 Leetcode 刷题笔记1 图论part01
有向图(边有方向) 、 无向图(边无方向)、加权有向图(边有方向和权值)无向图中几条边连接该节点,该节点就有几度;有向图中每个节点有入度和出度在无向图中,任何两个节点都是可以到达的,称之为连通图,否则称之为非连通图在有向图中,热河两个节点是可以相互到达的,称之为强连通图在无向图中的连通子图称之为该图的一个连通分量有向图中强连通子图称之为强连通分量一般使用邻接表、邻接矩阵和朴素存储深度优先搜索(dfs)、广度优先搜索(bfs)
2025-03-18 15:51:29
346
原创 Leetcode刷题笔记1 动态规划part12
在子序列问题中,遇到不匹配的情况时,哪个子序列长,哪个子序列让步,如果不知道哪个长就直接max(dp[i - 1][j], dp[i][j - 1])
2025-03-13 16:06:40
207
原创 Leetcode 刷题笔记1 动态规划part06
由于本题所求为最少零钱数所以递推公式中应该为dp[ j ] = min(dp[ j ], dp[ j - coin] + 1)
2025-03-06 11:05:53
579
原创 Leetcode 刷题笔记1 动态规划part05
开始完全背包不同于01背包,完全背包的特色在于元素可以重复拿取, 因此在递归公式和遍历顺序上都有些许不同。
2025-03-05 14:36:46
221
原创 Leetcode 刷题笔记1 动态规划part03
背包问题分为物品的重量和价值以及背包的最大承重,求得在背包最大承重范围内的最大价值。滚动数组:dp[j] = max(dp[j],dp[j - num] + num)今日的主要内容是背包问题(0 - 1背包问题)
2025-03-04 10:46:43
215
原创 Leetcode 刷题笔记1 贪心算法part05
本题与重叠区间的思路基本一致,需要注意的是如何更新结果里的区间元素。本题先将第一个区间放入result中,然后将其与接下来的区间进行比较来决定更不更新区间。
2025-02-27 11:28:26
185
原创 Leetcode 刷题笔记1 回溯算法part04
这题的去重不能使用sort()对原数组进行排序,因为会破坏顺序。由于本题数组的长度为201,属于有限小数组,所以可以使用数组来做哈希。
2025-02-24 10:09:13
174
原创 Leetcode 刷题笔记1 回溯算法part01
回溯算法的入门,回溯算法更像是一种枚举的策略,本题的组合优化过程可以理解。通过pycharm的调试,对回溯有了初步认识。
2025-02-19 21:29:42
149
原创 Leetcode 刷题笔记1 二叉树part07
本题的关键在于如何利用二叉搜索树的性质简化普通二叉树搜索最近公共祖先的过程,如果cur.val > p.val && cur.val < q.val 或者 cur.val < p.val && cur.val > q.val,即cur.val在区间[p, q]中。递归法:迭代法:迭代法在这题显得格外通俗易懂。
2025-02-19 14:53:24
209
原创 Leetcode刷题笔记1 二叉树part06
目前对于代码掌握程度还太低,所以对于一个题目的思路先从会用的方法想思路,比如暴力解法对于二叉树的最小绝对差,因为是二叉搜索树,所以用中序遍历转为有序数组,然后求取差值。
2025-02-18 18:01:22
203
原创 Leetcode刷题笔记1 二叉树part05
在此题中,由于深度遍历方法的遗忘废了些功夫,需要常复习三种迭代遍历方式。觉得二叉树的学习过程中递归很好使,随着题目的增加,对递归理解更加深刻。先通过中序遍历将二叉树转为有序数组,判断数组是否有序就行。
2025-02-18 15:37:45
173
原创 leetcode刷题笔记1 二叉树part04
从本题和下面的这两道题学习如何根据中序和前序、中序和后序遍历序列构造二叉树。同时,没有中序的情况是不能构造二叉树的。
2025-02-17 23:06:11
122
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人