TODO
- 重构 README 生成的 Algorithms 和 Codes 两个类,并迁移至 tools 目录。
- 优化主页 README 下的 Algorithms 链接,调整为层级目录的形式(类似 Notes)
Done
- 【
2022.01.18
】优化 algorithm 笔记模板的 tag 部分,使用 json 代替目前的正则抽取。 - 【
2022.01.17
】自动生成目录结构(books、papers 等) - 【
2021.11.12
】优化 auto-readme,使用上一次的 commit info,而不是默认 'Auto-README'- 参考:
git commit -m "$(git log -"$(git rev-list origin/master..master --count)" --pretty=%B | cat)"
- 说明:使用 origin/master 到 master 之间所有的 commit 信息作为这次的 message;
- 参考:
- 【
2021.11.11
】bert 支持加载指定层 ->_test_load_appointed_layers()
- 【
2021.11.08
】把 __test.py 文件自动加入文档测试(放弃)- 有些测试比较耗时,不需要全部加入自动测试;
- __test.py 针对的是存在相对引用的模块,如果这些模块有改动,会即时测试,所以也不需要自动测试
- 【
2021.11.03
】pytorch-lightning 代码阅读
基础-经典问题&代码 [19] ¶
LeetCode No.0072 编辑距离 (困难, 2022-01)
LeetCode No.0300 最长递增子序列 (中等, 2022-01)
剑指Offer No.0700 重建二叉树 (中等, 2021-11)
剑指Offer No.1600 数值的整数次方(快速幂) (中等, 2021-11)
剑指Offer No.2400 反转链表 (简单, 2021-11)
剑指Offer No.2900 顺时针打印矩阵(3种思路4个写法) (中等, 2021-11)
剑指Offer No.3100 栈的压入、弹出序列 (中等, 2021-11)
剑指Offer No.3500 复杂链表的复制(深拷贝) (中等, 2021-12)
剑指Offer No.3600 二叉搜索树与双向链表 (中等, 2021-12)
剑指Offer No.3800 字符串的排列(全排列) (中等, 2021-12)
剑指Offer No.3900 数组中出现次数超过一半的数字(摩尔投票) (简单, 2021-12)
剑指Offer No.4000 最小的k个数(partition操作) (简单, 2021-12)
剑指Offer No.4900 丑数 (中等, 2021-12)
剑指Offer No.5100 数组中的逆序对 (困难, 2022-01)
剑指Offer No.6000 n个骰子的点数 (中等, 2022-01)
剑指Offer No.6200 圆圈中最后剩下的数字(约瑟夫环问题) (中等, 2022-01)
剑指Offer No.6700 把字符串转换成整数(atoi) (中等, 2022-01)
剑指Offer No.6801 二叉搜索树的最近公共祖先 (简单, 2022-01)
剑指Offer2 No.001 整数除法 (中等, 2022-02)
题集-LeetCode [39] ¶
LeetCode No.0001 两数之和 (简单, 2021-10)
LeetCode No.0002 两数相加 (中等, 2021-10)
LeetCode No.0005 最长回文子串 (中等, 2021-10)
LeetCode No.0010 正则表达式匹配 (困难, 2022-01)
LeetCode No.0011 盛最多水的容器 (中等, 2021-10)
LeetCode No.0015 三数之和 (中等, 2021-10)
LeetCode No.0016 最接近的三数之和 (中等, 2021-10)
LeetCode No.0019 删除链表的倒数第N个结点 (中等, 2022-01)
LeetCode No.0021 合并两个有序链表 (简单, 2021-10)
LeetCode No.0029 两数相除 (中等, 2021-10)
LeetCode No.0033 搜索旋转排序数组 (中等, 2021-10)
LeetCode No.0042 接雨水 (困难, 2021-10)
LeetCode No.0053 最大子数组和 (简单, 2022-01)
LeetCode No.0064 最小路径和 (中等, 2022-01)
LeetCode No.0070 爬楼梯 (简单, 2022-01)
LeetCode No.0072 编辑距离 (困难, 2022-01)
LeetCode No.0086 分隔链表 (中等, 2021-10)
LeetCode No.0104 二叉树的最大深度 (简单, 2021-10)
LeetCode No.0111 二叉树的最小深度 (简单, 2021-10)
LeetCode No.0120 三角形最小路径和 (中等, 2022-01)
LeetCode No.0121 买卖股票的最佳时机 (简单, 2022-01)
LeetCode No.0122 买卖股票的最佳时机II (中等, 2022-01)
LeetCode No.0123 买卖股票的最佳时机III (困难, 2022-01)
LeetCode No.0143 重排链表 (中等, 2022-01)
LeetCode No.0152 乘积最大子数组 (中等, 2022-01)
LeetCode No.0167 两数之和2(输入有序数组) (简单, 2021-10)
LeetCode No.0187 重复的DNA序列 (中等, 2021-10)
LeetCode No.0240 搜索二维矩阵2 (中等, 2021-10)
LeetCode No.0300 最长递增子序列 (中等, 2022-01)
LeetCode No.0343 整数拆分 (中等, 2021-12)
LeetCode No.0352 将数据流变为多个不相交区间 (困难, 2021-10)
LeetCode No.0434 字符串中的单词数 (简单, 2021-10)
LeetCode No.0437 路径总和3 (中等, 2021-10)
LeetCode No.0441 排列硬币 (简单, 2021-10)
LeetCode No.0496 下一个更大元素 (简单, 2021-11)
LeetCode No.0611 有效三角形的个数 (中等, 2021-10)
LeetCode No.0859 亲密字符串 (简单, 2021-11)
LeetCode No.0876 链表的中间结点 (简单, 2022-01)
LeetCode No.0915 分割数组 (中等, 2022-01)
题集-剑指Offer [75] ¶
剑指Offer No.0300 数组中重复的数字 (简单, 2021-11)
剑指Offer No.0400 二维数组中的查找 (中等, 2021-11)
剑指Offer No.0500 替换空格 (简单, 2021-11)
剑指Offer No.0600 从尾到头打印链表 (简单, 2021-11)
剑指Offer No.0700 重建二叉树 (中等, 2021-11)
剑指Offer No.0900 用两个栈实现队列 (简单, 2021-11)
剑指Offer No.1001 斐波那契数列 (简单, 2021-11)
剑指Offer No.1002 跳台阶 (简单, 2021-11)
剑指Offer No.1100 旋转数组的最小数字 (简单, 2021-11)
剑指Offer No.1200 矩阵中的路径 (中等, 2021-11)
剑指Offer No.1300 机器人的运动范围 (中等, 2021-11)
剑指Offer No.1401 剪绳子(整数拆分) (中等, 2021-11)
剑指Offer No.1402 剪绳子 (中等, 2021-11)
剑指Offer No.1500 二进制中1的个数 (简单, 2021-11)
剑指Offer No.1600 数值的整数次方(快速幂) (中等, 2021-11)
剑指Offer No.1700 打印从1到最大的n位数(N叉树的遍历) (中等, 2021-11)
剑指Offer No.1800 删除链表的节点 (简单, 2021-11)
剑指Offer No.1900 正则表达式匹配 (困难, 2021-11)
剑指Offer No.2000 表示数值的字符串 (中等, 2021-11)
剑指Offer No.2100 调整数组顺序使奇数位于偶数前面 (简单, 2021-11)
剑指Offer No.2200 链表中倒数第k个节点 (简单, 2021-11)
剑指Offer No.2400 反转链表 (简单, 2021-11)
剑指Offer No.2500 合并两个排序的链表 (简单, 2021-11)
剑指Offer No.2600 树的子结构 (中等, 2021-11)
剑指Offer No.2700 二叉树的镜像 (简单, 2021-11)
剑指Offer No.2800 对称的二叉树 (简单, 2021-11)
剑指Offer No.2900 顺时针打印矩阵(3种思路4个写法) (中等, 2021-11)
剑指Offer No.3000 包含min函数的栈 (简单, 2021-11)
剑指Offer No.3100 栈的压入、弹出序列 (中等, 2021-11)
剑指Offer No.3201 层序遍历二叉树 (简单, 2021-11)
剑指Offer No.3202 层序遍历二叉树 (简单, 2021-11)
剑指Offer No.3203 层序遍历二叉树(之字形遍历) (简单, 2021-11)
剑指Offer No.3300 二叉搜索树的后序遍历序列 (中等, 2021-12)
剑指Offer No.3400 二叉树中和为某一值的路径 (中等, 2021-12)
剑指Offer No.3500 复杂链表的复制(深拷贝) (中等, 2021-12)
剑指Offer No.3600 二叉搜索树与双向链表 (中等, 2021-12)
剑指Offer No.3700 序列化二叉树 (困难, 2021-12)
剑指Offer No.3800 字符串的排列(全排列) (中等, 2021-12)
剑指Offer No.3900 数组中出现次数超过一半的数字(摩尔投票) (简单, 2021-12)
剑指Offer No.4000 最小的k个数(partition操作) (简单, 2021-12)
剑指Offer No.4100 数据流中的中位数 (困难, 2021-12)
剑指Offer No.4200 连续子数组的最大和 (简单, 2021-12)
剑指Offer No.4300 1~n整数中1出现的次数 (困难, 2021-12)
剑指Offer No.4400 数字序列中某一位的数字 (中等, 2021-12)
剑指Offer No.4500 把数组排成最小的数 (中等, 2021-12)
剑指Offer No.4600 斐波那契数列-3(把数字翻译成字符串) (中等, 2021-12)
剑指Offer No.4700 礼物的最大价值 (中等, 2021-12)
剑指Offer No.4800 最长不含重复字符的子字符串 (中等, 2021-12)
剑指Offer No.4900 丑数 (中等, 2021-12)
剑指Offer No.5000 第一个只出现一次的字符 (简单, 2021-12)
剑指Offer No.5100 数组中的逆序对 (困难, 2022-01)
剑指Offer No.5200 两个链表的第一个公共节点 (简单, 2022-01)
剑指Offer No.5301 求0~n-1中缺失的数字 (简单, 2022-01)
剑指Offer No.5302 在排序数组中查找数字 (简单, 2022-01)
剑指Offer No.5400 二叉搜索树的第k大节点 (简单, 2022-01)
剑指Offer No.5501 求二叉树的深度 (简单, 2022-01)
剑指Offer No.5502 判断是否为平衡二叉树 (简单, 2022-01)
剑指Offer No.5601 数组中数字出现的次数 (中等, 2022-01)
剑指Offer No.5602 数组中数字出现的次数 (中等, 2022-01)
剑指Offer No.5701 和为s的两个数字 (简单, 2022-01)
剑指Offer No.5702 和为s的连续正数序列 (简单, 2022-01)
剑指Offer No.5801 翻转单词顺序 (简单, 2022-01)
剑指Offer No.5802 左旋转字符串 (简单, 2022-01)
剑指Offer No.5901 滑动窗口的最大值 (困难, 2022-01)
剑指Offer No.5902 队列的最大值 (中等, 2022-01)
剑指Offer No.6000 n个骰子的点数 (中等, 2022-01)
剑指Offer No.6100 扑克牌中的顺子 (简单, 2022-01)
剑指Offer No.6200 圆圈中最后剩下的数字(约瑟夫环问题) (中等, 2022-01)
剑指Offer No.6300 买卖股票的最佳时机 (中等, 2022-01)
剑指Offer No.6400 求1~n的和 (中等, 2022-01)
剑指Offer No.6500 不用加减乘除做加法 (简单, 2022-01)
剑指Offer No.6600 构建乘积数组 (中等, 2022-01)
剑指Offer No.6700 把字符串转换成整数(atoi) (中等, 2022-01)
剑指Offer No.6801 二叉搜索树的最近公共祖先 (简单, 2022-01)
剑指Offer No.6802 二叉树的最近公共祖先 (简单, 2022-01)
题集-剑指Offer2 [3] ¶
题集-牛客 [19] ¶
牛客 No.0001 大数加法 (中等, 2022-01)
牛客 No.0002 重排链表 (中等, 2022-01)
牛客 No.0003 链表中环的入口结点 (简单, 2022-01)
牛客 No.0004 判断链表中是否有环 (简单, 2022-01)
牛客 No.0005 二叉树根节点到叶子节点的所有路径和 (中等, 2022-01)
牛客 No.0006 二叉树中的最大路径和 (困难, 2022-01)
牛客 No.0007 买卖股票的最好时机(一) (简单, 2022-01)
牛客 No.0008 二叉树中和为某一值的路径(二) (中等, 2022-01)
牛客 No.0009 二叉树中和为某一值的路径(一) (简单, 2022-01)
牛客 No.0010 大数乘法 (中等, 2022-01)
牛客 No.0011 将升序数组转化为平衡二叉搜索树 (简单, 2022-01)
牛客 No.0012 重建二叉树 (中等, 2022-01)
牛客 No.0013 二叉树的最大深度 (简单, 2022-01)
牛客 No.0014 按之字形顺序打印二叉树 (中等, 2022-01)
牛客 No.0015 求二叉树的层序遍历 (中等, 2022-01)
牛客 No.0016 对称的二叉树 (简单, 2022-01)
牛客 No.0017 最长回文子串 (中等, 2022-01)
牛客 No.0018 顺时针旋转矩阵 (简单, 2022-01)
牛客 No.0091 最长上升子序列(三) (困难, 2022-02)
更多细分类型 ...¶
基础-模拟、数学、找规律 [24] ¶
LeetCode No.0005 最长回文子串 (中等, 2021-10)
LeetCode No.0143 重排链表 (中等, 2022-01)
LeetCode No.0343 整数拆分 (中等, 2021-12)
LeetCode No.0352 将数据流变为多个不相交区间 (困难, 2021-10)
LeetCode No.0441 排列硬币 (简单, 2021-10)
LeetCode No.0859 亲密字符串 (简单, 2021-11)
LeetCode No.0915 分割数组 (中等, 2022-01)
剑指Offer No.1401 剪绳子(整数拆分) (中等, 2021-11)
剑指Offer No.1402 剪绳子 (中等, 2021-11)
剑指Offer No.2900 顺时针打印矩阵(3种思路4个写法) (中等, 2021-11)
剑指Offer No.3900 数组中出现次数超过一半的数字(摩尔投票) (简单, 2021-12)
剑指Offer No.4300 1~n整数中1出现的次数 (困难, 2021-12)
剑指Offer No.4400 数字序列中某一位的数字 (中等, 2021-12)
剑指Offer No.4400 数字序列中某一位的数字 (中等, 2021-12)
剑指Offer No.6000 n个骰子的点数 (中等, 2022-01)
剑指Offer No.6000 n个骰子的点数 (中等, 2022-01)
剑指Offer No.6100 扑克牌中的顺子 (简单, 2022-01)
剑指Offer No.6200 圆圈中最后剩下的数字(约瑟夫环问题) (中等, 2022-01)
剑指Offer No.6300 买卖股票的最佳时机 (中等, 2022-01)
剑指Offer No.6700 把字符串转换成整数(atoi) (中等, 2022-01)
牛客 No.0001 大数加法 (中等, 2022-01)
牛客 No.0007 买卖股票的最好时机(一) (简单, 2022-01)
牛客 No.0010 大数乘法 (中等, 2022-01)
牛客 No.0017 最长回文子串 (中等, 2022-01)
技巧-位运算 [6] ¶
技巧-双指针 [12] ¶
LeetCode No.0005 最长回文子串 (中等, 2021-10)
LeetCode No.0011 盛最多水的容器 (中等, 2021-10)
LeetCode No.0015 三数之和 (中等, 2021-10)
LeetCode No.0016 最接近的三数之和 (中等, 2021-10)
LeetCode No.0042 接雨水 (困难, 2021-10)
LeetCode No.0167 两数之和2(输入有序数组) (简单, 2021-10)
LeetCode No.0611 有效三角形的个数 (中等, 2021-10)
剑指Offer No.2100 调整数组顺序使奇数位于偶数前面 (简单, 2021-11)
剑指Offer No.4800 最长不含重复字符的子字符串 (中等, 2021-12)
剑指Offer No.5701 和为s的两个数字 (简单, 2022-01)
剑指Offer No.5702 和为s的连续正数序列 (简单, 2022-01)
剑指Offer No.5801 翻转单词顺序 (简单, 2022-01)
技巧-双指针-快慢指针 [6] ¶
技巧-双指针-滑动窗口 [1] ¶
技巧-哈希表(Hash) [7] ¶
技巧-有限状态自动机 [1] ¶
数据结构-二叉搜索树 [1] ¶
数据结构-二叉树 [28] ¶
LeetCode No.0104 二叉树的最大深度 (简单, 2021-10)
LeetCode No.0111 二叉树的最小深度 (简单, 2021-10)
LeetCode No.0437 路径总和3 (中等, 2021-10)
剑指Offer No.0700 重建二叉树 (中等, 2021-11)
剑指Offer No.2600 树的子结构 (中等, 2021-11)
剑指Offer No.2700 二叉树的镜像 (简单, 2021-11)
剑指Offer No.2800 对称的二叉树 (简单, 2021-11)
剑指Offer No.3201 层序遍历二叉树 (简单, 2021-11)
剑指Offer No.3202 层序遍历二叉树 (简单, 2021-11)
剑指Offer No.3203 层序遍历二叉树(之字形遍历) (简单, 2021-11)
剑指Offer No.3300 二叉搜索树的后序遍历序列 (中等, 2021-12)
剑指Offer No.3400 二叉树中和为某一值的路径 (中等, 2021-12)
剑指Offer No.3600 二叉搜索树与双向链表 (中等, 2021-12)
剑指Offer No.3700 序列化二叉树 (困难, 2021-12)
剑指Offer No.5400 二叉搜索树的第k大节点 (简单, 2022-01)
剑指Offer No.5501 求二叉树的深度 (简单, 2022-01)
剑指Offer No.5502 判断是否为平衡二叉树 (简单, 2022-01)
剑指Offer No.6802 二叉树的最近公共祖先 (简单, 2022-01)
牛客 No.0005 二叉树根节点到叶子节点的所有路径和 (中等, 2022-01)
牛客 No.0006 二叉树中的最大路径和 (困难, 2022-01)
牛客 No.0008 二叉树中和为某一值的路径(二) (中等, 2022-01)
牛客 No.0009 二叉树中和为某一值的路径(一) (简单, 2022-01)
牛客 No.0011 将升序数组转化为平衡二叉搜索树 (简单, 2022-01)
牛客 No.0012 重建二叉树 (中等, 2022-01)
牛客 No.0013 二叉树的最大深度 (简单, 2022-01)
牛客 No.0014 按之字形顺序打印二叉树 (中等, 2022-01)
牛客 No.0015 求二叉树的层序遍历 (中等, 2022-01)
牛客 No.0016 对称的二叉树 (简单, 2022-01)
数据结构-堆、优先队列 [3] ¶
数据结构-字符串 [9] ¶
LeetCode No.0434 字符串中的单词数 (简单, 2021-10)
LeetCode No.0859 亲密字符串 (简单, 2021-11)
剑指Offer No.0500 替换空格 (简单, 2021-11)
剑指Offer No.1900 正则表达式匹配 (困难, 2021-11)
剑指Offer No.2000 表示数值的字符串 (中等, 2021-11)
剑指Offer No.5802 左旋转字符串 (简单, 2022-01)
剑指Offer No.6700 把字符串转换成整数(atoi) (中等, 2022-01)
牛客 No.0001 大数加法 (中等, 2022-01)
牛客 No.0010 大数乘法 (中等, 2022-01)
数据结构-数组、矩阵(二维数组) [5] ¶
数据结构-栈、队列 [10] ¶
剑指Offer No.0600 从尾到头打印链表 (简单, 2021-11)
剑指Offer No.0900 用两个栈实现队列 (简单, 2021-11)
剑指Offer No.0900 用两个栈实现队列 (简单, 2021-11)
剑指Offer No.3000 包含min函数的栈 (简单, 2021-11)
剑指Offer No.3100 栈的压入、弹出序列 (中等, 2021-11)
剑指Offer No.3201 层序遍历二叉树 (简单, 2021-11)
剑指Offer No.3202 层序遍历二叉树 (简单, 2021-11)
剑指Offer No.3203 层序遍历二叉树(之字形遍历) (简单, 2021-11)
剑指Offer No.5902 队列的最大值 (中等, 2022-01)
牛客 No.0014 按之字形顺序打印二叉树 (中等, 2022-01)
数据结构-线段树、树状数组 [1] ¶
数据结构-设计 [4] ¶
数据结构-链表 [15] ¶
LeetCode No.0002 两数相加 (中等, 2021-10)
LeetCode No.0019 删除链表的倒数第N个结点 (中等, 2022-01)
LeetCode No.0086 分隔链表 (中等, 2021-10)
LeetCode No.0143 重排链表 (中等, 2022-01)
LeetCode No.0876 链表的中间结点 (简单, 2022-01)
剑指Offer No.0600 从尾到头打印链表 (简单, 2021-11)
剑指Offer No.1800 删除链表的节点 (简单, 2021-11)
剑指Offer No.2200 链表中倒数第k个节点 (简单, 2021-11)
剑指Offer No.2400 反转链表 (简单, 2021-11)
剑指Offer No.2500 合并两个排序的链表 (简单, 2021-11)
剑指Offer No.3500 复杂链表的复制(深拷贝) (中等, 2021-12)
剑指Offer No.5200 两个链表的第一个公共节点 (简单, 2022-01)
牛客 No.0002 重排链表 (中等, 2022-01)
牛客 No.0003 链表中环的入口结点 (简单, 2022-01)
牛客 No.0004 判断链表中是否有环 (简单, 2022-01)
算法-二分 [12] ¶
LeetCode No.0029 两数相除 (中等, 2021-10)
LeetCode No.0033 搜索旋转排序数组 (中等, 2021-10)
LeetCode No.0240 搜索二维矩阵2 (中等, 2021-10)
LeetCode No.0352 将数据流变为多个不相交区间 (困难, 2021-10)
LeetCode No.0441 排列硬币 (简单, 2021-10)
剑指Offer No.0400 二维数组中的查找 (中等, 2021-11)
剑指Offer No.1100 旋转数组的最小数字 (简单, 2021-11)
剑指Offer No.1600 数值的整数次方(快速幂) (中等, 2021-11)
剑指Offer No.5301 求0~n-1中缺失的数字 (简单, 2022-01)
剑指Offer No.5302 在排序数组中查找数字 (简单, 2022-01)
剑指Offer2 No.001 整数除法 (中等, 2022-02)
剑指Offer2 No.069 山峰数组的顶部 (简单, 2022-02)
算法-分治 [4] ¶
算法-动态规划(记忆化搜索)、递推 [27] ¶
LeetCode No.0005 最长回文子串 (中等, 2021-10)
LeetCode No.0010 正则表达式匹配 (困难, 2022-01)
LeetCode No.0053 最大子数组和 (简单, 2022-01)
LeetCode No.0064 最小路径和 (中等, 2022-01)
LeetCode No.0070 爬楼梯 (简单, 2022-01)
LeetCode No.0072 编辑距离 (困难, 2022-01)
LeetCode No.0120 三角形最小路径和 (中等, 2022-01)
LeetCode No.0121 买卖股票的最佳时机 (简单, 2022-01)
LeetCode No.0122 买卖股票的最佳时机II (中等, 2022-01)
LeetCode No.0123 买卖股票的最佳时机III (困难, 2022-01)
LeetCode No.0152 乘积最大子数组 (中等, 2022-01)
LeetCode No.0300 最长递增子序列 (中等, 2022-01)
LeetCode No.0343 整数拆分 (中等, 2021-12)
剑指Offer No.1001 斐波那契数列 (简单, 2021-11)
剑指Offer No.1001 斐波那契数列 (简单, 2021-11)
剑指Offer No.1002 跳台阶 (简单, 2021-11)
剑指Offer No.1401 剪绳子(整数拆分) (中等, 2021-11)
剑指Offer No.1900 正则表达式匹配 (困难, 2021-11)
剑指Offer No.4200 连续子数组的最大和 (简单, 2021-12)
剑指Offer No.4600 斐波那契数列-3(把数字翻译成字符串) (中等, 2021-12)
剑指Offer No.4700 礼物的最大价值 (中等, 2021-12)
剑指Offer No.4800 最长不含重复字符的子字符串 (中等, 2021-12)
剑指Offer No.4900 丑数 (中等, 2021-12)
剑指Offer No.6000 n个骰子的点数 (中等, 2022-01)
剑指Offer No.6200 圆圈中最后剩下的数字(约瑟夫环问题) (中等, 2022-01)
牛客 No.0017 最长回文子串 (中等, 2022-01)
牛客 No.0091 最长上升子序列(三) (困难, 2022-02)
算法-广度优先搜索(BFS) [3] ¶
算法-排序 [6] ¶
算法-深度优先搜索(DFS) [13] ¶
LeetCode No.0111 二叉树的最小深度 (简单, 2021-10)
LeetCode No.0437 路径总和3 (中等, 2021-10)
剑指Offer No.0600 从尾到头打印链表 (简单, 2021-11)
剑指Offer No.1200 矩阵中的路径 (中等, 2021-11)
剑指Offer No.1200 矩阵中的路径 (中等, 2021-11)
剑指Offer No.1300 机器人的运动范围 (中等, 2021-11)
剑指Offer No.1700 打印从1到最大的n位数(N叉树的遍历) (中等, 2021-11)
剑指Offer No.3400 二叉树中和为某一值的路径 (中等, 2021-12)
剑指Offer No.3800 字符串的排列(全排列) (中等, 2021-12)
剑指Offer No.5400 二叉搜索树的第k大节点 (简单, 2022-01)
牛客 No.0005 二叉树根节点到叶子节点的所有路径和 (中等, 2022-01)
牛客 No.0008 二叉树中和为某一值的路径(二) (中等, 2022-01)
牛客 No.0009 二叉树中和为某一值的路径(一) (简单, 2022-01)
算法-递归、迭代 [14] ¶
LeetCode No.0021 合并两个有序链表 (简单, 2021-10)
LeetCode No.0104 二叉树的最大深度 (简单, 2021-10)
剑指Offer No.0600 从尾到头打印链表 (简单, 2021-11)
剑指Offer No.1600 数值的整数次方(快速幂) (中等, 2021-11)
剑指Offer No.1900 正则表达式匹配 (困难, 2021-11)
剑指Offer No.2400 反转链表 (简单, 2021-11)
剑指Offer No.2400 反转链表 (简单, 2021-11)
剑指Offer No.2500 合并两个排序的链表 (简单, 2021-11)
剑指Offer No.2500 合并两个排序的链表 (简单, 2021-11)
剑指Offer No.2600 树的子结构 (中等, 2021-11)
剑指Offer No.2700 二叉树的镜像 (简单, 2021-11)
剑指Offer No.2800 对称的二叉树 (简单, 2021-11)
剑指Offer No.3600 二叉搜索树与双向链表 (中等, 2021-12)
剑指Offer No.6400 求1~n的和 (中等, 2022-01)
Work Utils ¶
find_best_threshold: 搜索最佳阈值(二分类)
BertTokenizer: Bert 分词器
ner_result_parse: NER 结果解析(基于 BIO 格式)
split: 将数据按比例切分
ImageCheck: 图片完整性检查
get_real_ext: 获取图像文件的真实后缀
Pytorch Models ¶
DualNet: 双塔结构
SiameseNet: 孪生网络,基于双塔结构
SimCSE: SimCSE
Bert: Bert by Pytorch
BertPretrain: Bert 预训练(MLM + NSP)
SentenceBert: Bert 句向量
BertSequenceTagging: Bert 序列标注
BertTextClassification: Bert 文本分类
LayerNorm: Layer Normalization
Pytorch Utils ¶
DictTensorDataset: 字典格式的 Dataset
ToyDataLoader: 简化创建 DataLoader 的过程
BertDataLoader: 简化 Bert 训练数据的加载
ContrastiveLoss: 对比损失(默认距离函数为欧几里得距离)
CrossEntropyLoss: 交叉熵
TripletLoss: Triplet 损失,常用于无监督学习、few-shot 学习
FGM: Fast Gradient Method (对抗训练)
PGM: Projected Gradient Method (对抗训练)
Trainer: Trainer 基类
set_seed: 设置全局随机数种子,使实验可复现
init_weights: 默认参数初始化
Python Utils ¶
simple_argparse: 一个简化版 argparse
ArrayDict: 数组字典,支持 slice
ValueArrayDict: 数组字典,支持 slice,且操作 values
BunchDict: 基于 dict 实现 Bunch 模式
FieldBunchDict: 基于 dataclass 的 BunchDict
ls_dir_recur: 递归遍历目录下的所有文件
files_concat: 文件拼接
get_caller_name: 获取调用者的名称
function_test_dn: 函数测试装饰器