auto commit

This commit is contained in:
CyC2018
2020-11-17 00:32:18 +08:00
parent f5ad47b470
commit 7e61fc1360
380 changed files with 2371 additions and 46715 deletions

View File

@ -1,19 +1,21 @@
# Leetcode 题解 -
<!-- GFM-TOC -->
* [二分图](#二分)
* [1. 判断是否为二分图](#1-判断是否为二分图)
* [拓扑排序](#拓扑排序)
* [1. 课程安排的合法性](#1-课程安排的合法性)
* [2. 课程安排的顺序](#2-课程安排的顺序)
* [并查集](#并查集)
* [1. 冗余连接](#1-冗余连接)
* [Leetcode 题解 - ](#leetcode-题解---)
* [二分图](#二分图)
* [1. 判断是否为二分图](#1-判断是否为二分图)
* [拓扑排序](#拓扑排序)
* [1. 课程安排的合法性](#1-课程安排的合法性)
* [2. 课程安排的顺序](#2-课程安排的顺序)
* [并查集](#并查集)
* [1. 冗余连接](#1-冗余连接)
<!-- GFM-TOC -->
# 二分图
## 二分图
如果可以用两种颜色对图中的节点进行着色并且保证相邻的节点颜色不同那么这个图就是二分图
## 1. 判断是否为二分图
### 1. 判断是否为二分图
785\. Is Graph Bipartite? (Medium)
@ -70,11 +72,11 @@ private boolean isBipartite(int curNode, int curColor, int[] colors, int[][] gra
}
```
# 拓扑排序
## 拓扑排序
常用于在具有先序关系的任务规划中
## 1. 课程安排的合法性
### 1. 课程安排的合法性
207\. Course Schedule (Medium)
@ -134,7 +136,7 @@ private boolean hasCycle(boolean[] globalMarked, boolean[] localMarked,
}
```
## 2. 课程安排的顺序
### 2. 课程安排的顺序
210\. Course Schedule II (Medium)
@ -147,7 +149,7 @@ There are a total of 4 courses to take. To take course 3 you should have finishe
使用 DFS 来实现拓扑排序使用一个栈存储后序遍历结果这个栈的逆序结果就是拓扑排序结果
证明对于任何先序关系v->w后序遍历结果可以保证 w 先进入栈中因此栈的逆序结果中 v 会在 w 之前
证明对于任何先序关系v-\>w后序遍历结果可以保证 w 先进入栈中因此栈的逆序结果中 v 会在 w 之前
```java
public int[] findOrder(int numCourses, int[][] prerequisites) {
@ -195,11 +197,11 @@ private boolean hasCycle(boolean[] globalMarked, boolean[] localMarked, List<Int
}
```
# 并查集
## 并查集
并查集可以动态地连通两个点并且可以非常快速地判断两个点是否连通
## 1. 冗余连接
### 1. 冗余连接
684\. Redundant Connection (Medium)
@ -263,10 +265,3 @@ private class UF {
}
}
```
<div align="center"><img width="320px" src="https://cs-notes-1256109796.cos.ap-guangzhou.myqcloud.com/githubio/公众号二维码-2.png"></img></div>