`leetcode-alg`是针对leetcode解题的数据结构和算法库, 其设计准则是: 以通用性为核心, 并以最大可能进行性能优化.
Project description
LeetCode-Py
介绍
- LeetCode-Py仓库中包含2大内容.
- 包含大量leetcode(python)题目的解答(将会收集1k题以上, 目前处于开发中).
- 算法库:
leetcode-alg
.
- LeetCode-Py的习题解答的风格是在最优复杂度的前提下, 写出最简洁的代码(不做过多细节的优化: 因为不同于c/c++, python容易反向优化). 旨在将最优雅的python代码放入
answer
文件夹内. leetcode-alg
是针对leetcode解题的数据结构和算法库, 其设计准则是: 以通用性为核心, 并以最大可能进行性能优化.
安装和使用
- 安装:
# 将此仓库下载的本地, 进入setup.py所在目录, 输入以下命令 pip install . # or 从pypi下载 pip install leetcode-alg -U
- 使用:
from leetcode_alg import *
索引
- 数据结构
- 线段树: 307
- lazy:
- 离散化: o51
- -(易混淆): 2021
- 树状数组: 307
- 变体:
- 离散化: o51
- 哈希表: 1, 2183
- 链表:
- 前向链表: 2, 19, 21, 23, 24, 25, 2181
- 双向循环链表:
- 单调栈/队列
- 单调栈:
- 单调队列:
- 前缀树(Trie):
- -(易混淆): 14
- 栈: 20
- 堆: 23
- 可动态修改的堆:
- with dijkstra, prim: always
- 可动态修改的堆:
- union find
- with离散化: always
- 线段树: 307
- 算法
- 分治法:
- 2路: 23
- 二分查找: 4
- 滑动窗口: 3
- 图的搜索:
- 回溯: 17, 22
- dfs:
- bfs:
- 树的搜索
- dfs:
- 公共祖先: 2096
- bfs:
- dfs:
- 图算法:
- dijkstra: 2203
- kruskal(稀疏图): 1584
- prim(稠密图): 1584
- dinic:
- 匈牙利算法:
- DP
- [i..j]dp: 5
- 双向dp: 2167
- 双指针: 11
- N数: 15, 16, 18
- 贪心: 11, 12, 2037, 2038, 2182
- 位运算: 2166,
- 其他:
- 中心法: 5, 2171, 2203
- 去重:
- N数: 15, 16, 18
- 排序:
- N数: 同双指针N数
- map有序化: 2021, 2165, 2170, 2183
- with贪心: 2037
- -(暗含): 12, 2182
- with离散化: always
- 2171
- int溢出: 7, 8
- 分类讨论
- 次大/小: 2170, 2182
- 不以0开头: 7, 8, 2165
- 次大/小: 2170, 2182
- 分治法:
- 数学:
- gcd: 2183
- 未分类:
- 暴力: 2180
- 过于简单: 2022, 2164, 2169
- 6, 9, 13, 2043,
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
leetcode_alg-0.1.0.dev0.tar.gz
(10.9 kB
view hashes)