
刷题整理
文章平均质量分 79
leetcode相关
serenysdfg
菜鸟在成长
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
图算法分类简介
最小生成树能够保证整个拓扑图的所有路径之和最小,但不能保证任意两点之间是最短路径。 (路总长最小连接所有点) 最短路径是从一点出发,到达目的地的路径最小 (一点到达零一点) 最小生成树-prim和krustal 给定一个n个点m条边的无向图,求最小生成树的树边权重之和 目标如何找到一条路径使得沿此路径上各边上的权值总和达到最小(路径规划) http://www.cppblog.com/abilitytao/archive/2009/09/05/95399.html 例子:684. 冗余连接(le.原创 2020-07-05 00:52:52 · 1047 阅读 · 0 评论 -
二叉树遍历
递归 先序遍历--根左右 def preOrder(root): if not root: return None print(root.val) preOrder(root.left) preOrder(root.right) 中序遍历-左根右 def inOrder(root): if not root: re...原创 2020-04-03 23:20:47 · 123 阅读 · 0 评论 -
排序算法总结
时间空间复杂度 1直接选择排序 def select_sort(lst): if lst == []: return [] for i in range(len(lst)-1): smallest = i for j in range(i, len(lst...原创 2020-03-03 23:59:15 · 267 阅读 · 1 评论 -
leetcode数组类整理
1.1数组类 总和值为零的连续节点: 常用:前缀和思想(重要 preSum[i]=1+2=3,而preSum[j]=1+2+3+4=10,那么sum([i+1,j])=preSum[j]-preSum[i]=7。这是一个非常好的性质,我们可以通过一个字典存储每个前缀和对应的节点,如果有两个节点的前缀和相同,那么说明这个区间内的和是0 其他 二维数组定义 dp = [[1 for i ...原创 2020-03-02 22:26:59 · 126 阅读 · 0 评论 -
leetcode常用数据处理
字符串处理 x = ''.join(sorted(list(i)))#转换相同的 i.lower() for i in a string.count('a') #返回str在string里面出现的次数 ''.join(s) s=list(s) #数组和list转换 变成list、 s[end], s[start] = s[start],s[end]#互换 #排序 sorted(logs,...原创 2020-02-29 23:09:19 · 229 阅读 · 0 评论 -
kmp算法
朴素算法 朴素算法中,P的第j位失配,默认的把P串后移一位 char s[]={' ','a','b','c','a','b','a','a','a','a','b','a','a','b','c','a','c'};//从序号1开始存 char p[]={' ','a','b','a','a','b','c','a','c'}; int i = 1,j = 1;...原创 2020-03-02 19:50:18 · 153 阅读 · 0 评论 -
最短路径算法 : Dijkstra 和Floyd
思想:Dijkstra是求单源最短路径,Floyd算法是用于求多源最短路径,算出来的是所有的节点到其余各节点之间的最短距离。 Dijkstra算法 先遍历一下还没有在最短路中的点,选出一个距离 已经在最短路集合中的点 距离最近的点(遍历与 最短路包含的点 相连的节点),并把它加入到最短路中,并且更新所有点的最短路,直到所有的点都加入到最短路中。 图解参考:https://www....原创 2020-03-02 19:05:11 · 248 阅读 · 0 评论