LeetCode每日一题
记录LeetCode每日一题的做题过程,以及学习到的算法思想
seeSunnySide
这个作者很懒,什么都没留下…
展开
-
2021-1-25 LeetCode 959. 由斜杠划分区域
959. 由斜杠划分区域思路:其实区域就可以看作是一个环,将n * n的网络看作有(n+1) * (n+1)个点,先用内部的点来构建并查集,然后再封闭边界,在合并的时候判断当前这条边是否会造成一个环的生成(也就是判断要合并的两个顶点的root是否相同),如果会则环的数量++,最后返回环的数量即可。class Solution { public int regionsBySlashes(String[] grid) { //图,并查集 int n=grid.l原创 2021-01-25 16:47:52 · 125 阅读 · 0 评论 -
2021-1-19 LeetCode1584. 连接所有点的最小费用
1584.连接所有点的最小费用思路:无向完全图的最小生成树问题。每个坐标点表示一个顶点,遍历顶点找出所有的边,同时计算每条边的权重,存储在优先队列中,方便后面找到最小权重边。这里使用的是克鲁斯卡尔算法寻找最小生成树。AC代码(Java)class Solution { public int minCostConnectPoints(int[][] points) { List<Node> nodes=new ArrayList<>();// 顶点原创 2021-01-19 12:29:55 · 189 阅读 · 0 评论