滑动窗口
「滑动窗口」
1 | //给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 |
1 | //给你一个字符串 s 、一个字符串 t 。返回 s 中涵盖 t 所有字符的最小子串。如果 s 中不存在涵盖 t 所有字符的子串,则返回空字符串 "" 。 |
根据邻接表建图:
1 | List<Integer>[] buildGraph(int numCourses, int[][] prerequisites) { |
1 | class Solution |
1 | 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 |
1 | public int uniquePaths(int m, int n) { |
假设节点为[a,b,c,d],在邻接矩阵中,
无向图
:如果v1到v2有边,则邻接矩阵M[v_1][v_2]=M[v_2][v_1]=1,否则=0.
M[0]中的值为1的元素的个数为a(节点0)的度,M[i][0]中的值为1的元素的个数也为a(节点0)的度,因为在无向图中,邻接矩阵是以对角线对称的。
有向图
:M[0]中的值为1的元素的个数为a(节点0)的出度,M[i][0]中的值为1的元素的个数也为a(节点0)的入度
带权图
:如果v1到v2有边,则邻接矩阵M[v_1][v_2]=W_1_2, 否则为正无穷
优点:
如果要对边进行排序,或按边的权重进行排序,推荐使用边集数组