随笔分类 - 刷算法题
摘要:二叉树遍历(前序、中序、后序、层次遍历、深度优先、广度优先)
阅读全文
摘要:快速排序算法详解(原理、实现和时间复杂度) 快速排序 Python 快速排序 Python实现快速排序算法 (推荐) 排序算法的思想非常简单,在待排序的数列中,我们首先要找一个数字作为基准数(这只是个专用名词)。为了方便,我们一般选择第 1 个数字作为基准数(其实选择第几个并没有关系)。接下来我们需
阅读全文
摘要:概念理解 摘自:如何理解动态规划? 英文dynamic programming,中文动态规划,给人一种很宏大的感觉。但其实对所谓动态和规划都没有那么深的体现,可以简单得理解为是对传统递归的一种优化。 Bellman,也就是”发明"了DP的人,自己说这个名字是他“编的”,主要为了规避军方的厌恶,否则就
阅读全文
摘要:在刷LeetCode时,有时候需要在本地调试代码,但是苦于本地没有树的数据类型,所以自己动手用python写了一个二叉树类,并且实现了可视化。 下面的程序仅仅是为了创建二叉树,方便在刷LeetCode有关题目时进行本地调试代码,所以有些功能没有加上去,比如删除节点的功能。程序虽然是二叉树类,也容易扩
阅读全文
摘要:摘自:https://www.bilibili.com/video/BV1i64y1u7Me/
阅读全文
摘要:参考资料: 九章哔哩哔哩 python 最好不要用全局变量
阅读全文
摘要:substring是子串。例如,‘wee’ 是 ‘helloween’的substring,‘hwn’ 不是 ‘helloween’的substring。取子串的时候不能隔着字符取。 subsequence是子序列。例如,‘wee’ 和 ‘hwn’ 都是 ‘helloween’的subsequenc
阅读全文
摘要:一. 刷题顺序 1.1. leetcode最强刷题指南(推荐,这个网站的内容很详细) 1.2. 剑指offer 66题,python和c++代码(推荐,github,内容详细) 1.3. 知乎:算法小白如何高效、快速刷leetcode? 1.4. 知乎:大家都是如何刷 LeetCode 的? 二.
阅读全文