您的位置:首页 > 科技 > IT业 > 专业的网站制作设计_天元建设集团有限公司第二建筑工程分公司_seo费用价格_推广app网站

专业的网站制作设计_天元建设集团有限公司第二建筑工程分公司_seo费用价格_推广app网站

2025/2/27 2:40:18 来源:https://blog.csdn.net/2301_79232523/article/details/144380014  浏览:    关键词:专业的网站制作设计_天元建设集团有限公司第二建筑工程分公司_seo费用价格_推广app网站
专业的网站制作设计_天元建设集团有限公司第二建筑工程分公司_seo费用价格_推广app网站

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向和记录学习过程(例如想要掌握基础用法,该刷哪些题?)我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.引爆最多的炸弹

题目链接:2101. 引爆最多的炸弹 - 力扣(LeetCode)

题面:

分析:本质上还是求单向最大连通图,只不过连通的条件改成了能不能引爆 ,贴上灵神代码

代码:

class Solution {public int maximumDetonation(int[][] bombs) {int n = bombs.length;List<Integer>[] g = new ArrayList[n];Arrays.setAll(g, i -> new ArrayList<>());for (int i = 0; i < n; i++) {long x = bombs[i][0];long y = bombs[i][1];long r = bombs[i][2];for (int j = 0; j < n; j++) {long dx = x - bombs[j][0];long dy = y - bombs[j][1];if (j != i && dx * dx + dy * dy <= r * r) {g[i].add(j); // i 可以引爆 j}}}int ans = 0;boolean[] vis = new boolean[n];for (int i = 0; i < n && ans < n; i++) {Arrays.fill(vis, false);ans = Math.max(ans, dfs(g, vis, i));}return ans;}private int dfs(List<Integer>[] g, boolean[] vis, int x) {vis[x] = true;int cnt = 1;for (int y : g[x]) {if (!vis[y]) {cnt += dfs(g, vis, y);}}return cnt;}
}

后言

上面是力扣图论专题,下一篇是其他的习题,希望有所帮助,一同进步,共勉!

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com